我希望能够
我看到了检查用户是否处于特定角色的方法,但我不关心他们参与的角色。数据库将知道允许哪些角色查看哪些数据。我需要向数据服务提交这些角色的集合,以根据这些角色过滤数据。
首先,我如何在控制器方法中获取与当前用户关联的所有角色?
编辑:
这似乎很有效:
Roles.GetRolesForUser(User.Identity.Name)
支持答案仍然受到欢迎。
答案 0 :(得分:23)
Roles.GetRolesForUser(User.Identity.Name)
答案 1 :(得分:13)
这可以通过一个声明来完成:
User.IsInRole("admin");
答案 2 :(得分:10)
如果有人需要这些信息,如果你的用户有很多角色,但你正在寻找一个,你可以这样做:(我认为id分享)
@if (Request.IsAuthenticated)
{
string[] roles = Roles.GetRolesForUser();
foreach (string role in roles)
{
if (role.Contains("admin"))
{
<li>@Html.ActionLink("Administration", "Admin", "Movies")</li>
break;
}
}
}