使用ASP.NET MVC5用户身份,我试图在视图中显示IdentityUser的角色名称。
似乎Identity用户具有Roles属性,它表示IdentityUserRole
的集合,而不是IdentityRole
。差异为IdentityUserRole
表示IdentityUser
与IdentityRole
之间的关联,而IdentityRole
为实际Role
模型 [+] < / SUP> 即可。显然,IdentityUser和IdentityRole之间没有定义导航。所以我们得到的是来自IdentityUserRole
的RoleId。
IdentityRole
和IdentityUserRole
之间定义虚拟导航属性,轻松获取名称
整个项目?IdentityRole
有什么好处? 答案 0 :(得分:-1)
您可以使用rolemanager
选择身份中的用户名称var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(this.dbcontext));
来自用户的获取用户角色,然后从该角色中选择名称
roleManager.FindById(user.RoleId).Name