Eu quero ser capaz de
- Obtenha uma lista de funções do usuário autenticado atual.
- Filtrar os dados fornecidos para esse usuário com base em sua função.
Eu vejo maneiras de verificar se o usuário está em umUm papel específico, mas eu não me importo com o papel que eles participam. O banco de dados saberá quais funções têm permissão para ver quais dados. Eu preciso enviar uma coleção dessas funções para o serviço de dados para filtrar os dados com base nessas funções.
Então, primeiro passo é como eu obtenho todas as funções associadas ao usuário atual em um método controlador?
EDITAR:
Isso pareceu funcionar bem:
Roles.GetRolesForUser(User.Identity.Name)
Respostas de apoio ainda são bem vindas.
Respostas:
22 para resposta № 1Roles.GetRolesForUser(User.Identity.Name)
11 para resposta № 2
Isso pode ser feito com uma única declaração:
User.IsInRole("admin");
10 para resposta № 3
Se alguém precisar dessa informação, caso seu usuário tenha muitas funções, mas você estiver procurando por uma, você pode fazer isso: (eu pensei em compartilhar)
@if (Request.IsAuthenticated)
{
string[] roles = Roles.GetRolesForUser();
foreach (string role in roles)
{
if (role.Contains("admin"))
{
<li>@Html.ActionLink("Administration", "Admin", "Movies")</li>
break;
}
}
}