2013-10-30 71 views
15

如何在mvc 5我可以找出登录用户的角色?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; 
    } 

后,我洛在现场由用户做出的用户。如何在控制器中,我可以检查该用户是否具有角色==“管理员”或不?我发现只有一种看起来不太快的方法。

​​

我们有其他方法吗?

+2

使用亚历克斯的答案,或者如果您检查是否应允许用户进入控制器/网页使用[授权(角色=“管理员”)]上方控制器。 –

回答

78
bool result = User.IsInRole("admin") 

更容易。 :)

+0

啊,你打我吧.. :-) –

+1

该死!我很接近! :) – Duke

+0

不要忘记使用Microsoft.AspNet.Identity – John