3

使用 ASP.NET MVC5 用户身份,我试图在视图中显示 IdentityUser 的角色名称。

似乎 Identity 用户具有 Roles 属性,它代表 的集合IdentityUserRole,而不是IdentityRole。区别在于和IdentityUserRole之间的关联,而实际模型[+]。显然 IdentityUser 和 IdentityRole 之间没有定义导航。所以我们得到的只是 RoleId 。IdentityUserIdentityRoleIdentityRoleRoleIdentityUserRole

  1. 有没有简单的方法来获取角色名称?
  2. 使用 Fluent API,我们可以在整个项目中定义一个虚拟导航属性IdentityRoleIdentityUserRole以便在整个项目中轻松获取名称吗?
  3. 如果是有意为之,不让我们IdentityRole直接获取有什么好处?
4

1 回答 1

-1

您可以使用角色管理器在身份中选择用户角色

var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(this.dbcontext));

从用户获取用户角色,然后从该角色中选择名称

roleManager.FindById(user.RoleId).Name
于 2014-11-24T08:26:27.737 回答