c# - 授权属性和角色
问题描述
所以我正在建立一个身份框架。在使用 usermanager 创建角色后,我将角色分配给用户,如下所示:
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>());
if(!await roleManager.RoleExistsAsync("admin"))
await roleManager.CreateAsync(new IdentityRole("admin"));
var userToAddRole = _userManager.FindByName(userModel.UserName);
_userManager.AddToRole(userToAddRole.Id, "admin");
//_userManager.AddClaim(userToAddRole.Id, new Claim(ClaimTypes.Role, "admin"));
await _userManager.UpdateAsync(userToAddRole);
所有数据库表(如 AspNetRoles AspNetUserRoles)都会正确更新。但是当我尝试访问
[Authorize (Roles = "admin")]
[Route("changepassword")]
未经授权的 401 错误总是随之而来。没有 (Roles = "admin") 它工作正常。如果这很重要,我正在使用 OAuth 不记名令牌授权。
先感谢您