所以我要建立一个身份框架。在使用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承载令牌授权。
提前谢谢