我想调整 _LoginPartial.cshtml 以显示:
Logged in as <username>(<rolename>) | Logoff
因此,我希望添加与登录用户关联的第一个角色名称。
我无法通过用户对象访问它,那么如何访问此信息?
这是当前代码:
@Html.ActionLink("Logged in as " + User.Identity.GetUserName(), "Manage", "Account", routeValues: null, htmlAttributes: new { title = "Manage" })
你会
想要使用Role
类,但实际上你应该做的是在控制器中收集这些信息并传递它,可能在ViewBag
中。这样,您的视图就从您获取用户名和角色的位置抽象出来。
如果使用声明,则可以将用户向下转换为 ClaimsPrincipal,然后在 Type == ClaimsTypes.Role 上筛选声明集合。