2016-01-24 91 views
2

让角色在ASP.NET MVC 5,在控制器中,我采取了让与请求的用户:天冬氨酸MVC:如何从ApplicationUser

ApplicationUser user = System.Web.HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>().FindById(System.Web.HttpContext.Current.User.Identity.GetUserId()); 

随着ApplicationUser情况下,我怎么能得到用户的所有角色?

回答

6

您可以使用UserManager获取用户和分配的角色。

var userManager = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>(); 

,然后你可以得到你的用户喜欢你已经做了,而且还可以通过调用方法getRoles

userManager.GetRoles(userId); 
0
 List<string> roles = new UserManager().GetRoles(userIdString)).ToList(); 

低于所需的类是在ASP中自动创建,获得对具体用户角色使用VS 2015的.NET 4.5项目。文件名是IdentityModels.cs

默认4的NuGet包已安装包括Microsoft.AspNet.WebApi v5.2.3

public class UserManager : UserManager<ApplicationUser> 
    { 
     public UserManager() 
      : base(new UserStore<ApplicationUser>(new ApplicationDbContext())) 
     { 
     } 
    } 

public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
    { 
     public ApplicationDbContext() 
      : base("DefaultConnection") 
     { 
     } 
    } 


public class ApplicationUser : IdentityUser 
{ 
} 
+1

虽然此代码段可以解决的问题,[包括一个解释](// meta.stackexchange.com/问题/ 114762 /解释 - 完全基于代码的答案)确实有助于提高帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要用解释性注释来挤占代码,这会降低代码和解释的可读性! – kayess

相关问题