2013-10-30 112 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