Asp.net MVC 5 无法获取用户角色

Asp.net MVC 5 can't get user roles

我正在尝试获取用户角色并对其进行修改。 我尝试了很多方法来获取用户角色,但没有任何效果。 有什么遗漏吗? 我可以获得正确的用户实体,但角色始终为空。 有没有办法正确地做到这一点? 谢谢

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");

您可以通过领取获得它们:

var roles = ((ClaimsIdentity)User.Identity).Claims
            .Where(c => c.Type == ClaimTypes.Role)
            .Select(c => c.Value);

要将用户添加到角色,您可以执行以下操作(确保角色存在于数据库中):

var roleresult = UserManager.AddToRole(currentUser.Id, "RoleName");