Ответ 1
Roles.GetRolesForUser(User.Identity.Name)
Я хочу иметь возможность
Я вижу способы проверить, имеет ли пользователь определенную роль, но мне все равно, какую роль они участвуют. База данных будет знать, какие роли разрешены для просмотра данных. Мне нужно отправить коллекцию этих ролей службе данных для фильтрации данных на основе этих ролей.
Итак, первый шаг - как мне получить все роли, связанные с текущим пользователем в методе контроллера?
EDIT:
Это выглядело прекрасно:
Roles.GetRolesForUser(User.Identity.Name)
Поддержка ответов по-прежнему приветствуется.
Roles.GetRolesForUser(User.Identity.Name)
Это можно сделать с помощью одного оператора:
User.IsInRole("admin");
Если кому-то нужна эта информация, если у вашего пользователя много ролей, но вы ее ищете, вы можете сделать это: (я думал, что доля 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;
}
}
}