如何在mvc 5中找到登录用户的角色?
我通过此代码创建了用户
private bool AddUserAndRole()
{
IdentityResult ir;
var rm = new RoleManager<IdentityRole>
(new RoleStore<IdentityRole>(new ApplicationDbContext()));
ir = rm.Create(new IdentityRole("admin"));
var user = new ApplicationUser() { UserName = "Admin" };
var result = UserManager.Create(user, "somepassword");
UserManager.AddToRole(user.Id, "admin");
return true;
}
我在该网站上登录之后。如何在控制器中检查该用户是否具有角色==“admin”?我发现只有一种方法看起来不会很快。
var rm = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new ApplicationDbContext()));
var role = rm.FindByName("admin");
bool result = User.IsInRole(role.Name); //true
我们还有其他方法吗?
答案 0 :(得分:84)
bool result = User.IsInRole("admin")
更容易。 :)