ASP.NETCore3.1中角色授权无法正常工作
创始人
2024-09-17 10:01:17
0次
  1. 确保已经配置正确的身份验证和授权服务,并且已经使用正确的身份验证中间件。例如,可以使用下面的代码示例来配置身份验证和授权服务:

services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddCookie(options => { options.Cookie.HttpOnly = true; options.ExpireTimeSpan = TimeSpan.FromMinutes(30); options.LoginPath = new PathString("/Account/Login"); options.AccessDeniedPath = new PathString("/Account/AccessDenied"); });

services.AddAuthorization(options => { options.AddPolicy("AdminOnly", policy => policy.RequireRole("Admin")); });

  1. 确保已经将角色正确地分配给用户。例如,可以使用下面的代码示例来'Admin”角色分配给用户:

var user = new ApplicationUser { UserName = "admin@domain.com" }; await userManager.CreateAsync(user, "P@ssword"); await userManager.AddToRoleAsync(user, "Admin");

  1. 确保在确保当前用户已经通过身份验证之后再进行角色授权检查。例如,可以使用下面的代码示例来检查当前用户是否有'Admin”角色:

[Authorize(Policy = "AdminOnly")] public IActionResult AdminDashboard() { return View(); }

  1. 如果还是无法正常工作,可以尝试使用基于声明的授权而不是基于角色的授权。例如,可以使用下面的代码示例来设置声明:

var claims = new List { new Claim(ClaimTypes.Name, "admin@domain.com"), new Claim(ClaimTypes.Role, "Admin") };

var identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme); var principal = new ClaimsPrincipal(identity);

await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal);

然后可以使用基于声明的授权检查:

[Authorize(Policy = "AdminOnly")] public IActionResult AdminDashboard() { var isAdmin = User.HasClaim(ClaimTypes.Role, "Admin"); return View(isAdmin); }

相关内容

热门资讯

每日必看推荐!盛世棋牌透视功能... 每日必看推荐!盛世棋牌透视功能教程,盛世棋牌竟然真的是有透视教程1、玩家可以在盛世棋牌线上大神俱乐部...
玩家必看教程!新067互娱透视... 玩家必看教程!新067互娱透视功能攻略,新067互娱真是是真的有透视攻略1、用户打开应用后不用登录就...
热点推荐!滴滴开挂功能脚本,滴... 热点推荐!滴滴开挂功能脚本,滴滴原来是有开挂脚本1、首先打开滴滴辅助器下载最新版本,在滴滴辅助首页我...
查到实测辅助!三三麻将透视功能... 查到实测辅助!三三麻将透视功能技巧,三三麻将切实是真的有透视技巧1、操作简单,无需三三麻将手机版透视...
每日必备!禾盛辅助器功能插件,... 每日必备!禾盛辅助器功能插件,禾盛竟然存在有辅助器插件1、任何禾盛透视是真的假的的玩家都可以机会成为...
总算了解!越悦游戏透视挂功能脚... 总算了解!越悦游戏透视挂功能脚本,越悦游戏其实是真的有透视挂脚本1、任何越悦游戏透视是真的假的的玩家...
推荐十款!闲来贵州麻将辅助器功... 推荐十款!闲来贵州麻将辅助器功能插件,闲来贵州麻将本来真的是有辅助器插件亲,关键说明,闲来贵州麻将透...
重磅来袭!爱玩麻将辅助器功能a... 重磅来袭!爱玩麻将辅助器功能app,爱玩麻将好像是有辅助器app1、爱玩麻将模拟器是什么优化,爱玩麻...
普及知识!七喜大厅透视功能ap... 普及知识!七喜大厅透视功能app,七喜大厅一贯存在有透视app1)七喜大厅辅助插件:进一步探索七喜大...
必看攻略!芷芷休闲透视挂功能软... 必看攻略!芷芷休闲透视挂功能软件,芷芷休闲一贯真的是有透视挂软件1、点击下载安装,芷芷休闲脚本分类一...