使用ASP.NET MVC5用户身份,我试图在 View 中显示IdentityUser的角色名称。
似乎Identity用户具有Roles属性,该属性表示IdentityUserRole
而不是IdentityRole
的集合。区别在于IdentityUserRole
表示IdentityUser
和IdentityRole
之间的关联,而IdentityRole
是实际的Role
模型 [+] 。显然,在IdentityUser和IdentityRole之间没有定义导航。所以我们得到的只是IdentityUserRole
中的RoleId。
IdentityRole
和IdentityUserRole
之间定义虚拟导航属性来轻松获取名称在整个项目中?
IdentityRole
有什么好处? 最佳答案
您可以使用角色管理器来选择身份中的用户角色
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(this.dbcontext));
从用户那里获得用户角色,然后从该角色中选择名称
roleManager.FindById(user.RoleId).Name