我试图获取用户角色并对其进行修改。 我已经尝试了很多方法来获得用户角色,但没有任何作用。 有什么遗漏? 我可以获得正确的用户实体,但角色始终为空。 有没有办法正确地做到这一点? 感谢
var user = UserManager.Users.Single(u=>u.Id==id);
var roles = user.Roles;
roles.Add(....)
var user = UserManager.Users.Single(u=>u.Id==id);
user.IsinRole("rolename");
答案 0 :(得分:1)
您可以通过声明获取它们:
var roles = ((ClaimsIdentity)User.Identity).Claims
.Where(c => c.Type == ClaimTypes.Role)
.Select(c => c.Value);
要将用户添加到角色,您可以执行此操作(确保该角色存在于数据库中):
var roleresult = UserManager.AddToRole(currentUser.Id, "RoleName");