mvc 5检查用户角色

时间:2013-10-30 17:16:47

标签: c# authentication asp.net-mvc-5 asp.net-identity

如何在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

我们还有其他方法吗?

1 个答案:

答案 0 :(得分:84)

bool result = User.IsInRole("admin") 

更容易。 :)