如何显示身份用户的角色?

时间:2014-03-02 10:47:15

标签: asp.net-mvc asp.net-identity asp.net-roles

我想调整_LoginPartial.cshtml来显示:

Logged in as <username>(<rolename>) | Logoff

所以我希望添加与登录用户关联的第一个角色名称。

我无法通过用户对象访问它,因此如何访问此信息?

这是当前的代码:

@Html.ActionLink("Logged in as " + User.Identity.GetUserName(), "Manage", "Account", routeValues: null, htmlAttributes: new { title = "Manage" })

2 个答案:

答案 0 :(得分:1)

你会想要使用Role类,但你应该做的是在控制器和放大器中一起收集这些信息。传递它,可能在ViewBag。这样,您的视图就会从您获得用户名的位置抽象出来。角色来自。

答案 1 :(得分:0)

如果您正在使用声明,那么您可以将用户转发到ClaimsPrincipal,然后在Type == ClaimsTypes.Role上过滤声明集合。