autenticação baseada em papel Asp.Net usando grupos de segurança no Active Directory
-
03-07-2019 - |
Pergunta
Eu estou tentando fazer simples alguma coisa (eu pensei) -. Garantir meu aplicativo usando a segurança baseada em funções usando grupos do Active Directory em nosso domínio
Especificamente, eu preciso mostrar / ocultar itens em uma página dependendo se o usuário conectado no momento é parte de domain\groupA
no Active Directory. Por alguma razão, é difícil obter informações sobre como usar o Active Directory para isso. Tudo o que eu parecem encontrar entra em detalhes do uso da autenticação baseada em formulários usando papéis, ou ele usa um banco de dados para armazenar as informações.
Tudo que eu quero fazer é usar nossa estrutura de segurança já descritas no nosso Active Directory. Alguém pode explicar o que eu preciso?
Preciso:
-
<roleManager enabled="true"/>
emweb.config
-
<allow roles ="domain\groupA"/>
emweb.config
- O IIS configurado para janelas de autenticação
-
if (User.IsInRole(@"domain\groupA")){ //do stuff }
na minha página?
O que mais eu estou ausente? Qualquer coisa? Porque não o seu trabalho. heh.
Obrigado a todos por sua ajuda.
Solução
Você provavelmente só precisa adicionar um RoleProvider ao seu web.config para dizer o aplicativo como fazer pesquisas contra a AD.
Exemplo de código de aqui .
<roleManager defaultProvider="WindowsProvider"
enabled="true"
cacheRolesInCookie="false">
<providers>
<add
name="WindowsProvider"
type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>