Asp.Net Autenticazione basata sui ruoli utilizzando i gruppi di sicurezza in Active Directory
-
03-07-2019 - |
Domanda
Sto tentando di fare qualcosa di semplice (pensavo): proteggere la mia applicazione usando la sicurezza basata sui ruoli utilizzando i gruppi di Active Directory nel nostro dominio.
In particolare, devo mostrare / nascondere gli elementi in una pagina a seconda che l'utente attualmente connesso faccia parte di domain\groupA
in Active Directory. Per qualche motivo, è difficile trovare informazioni sull'uso di Active Directory per questo. Tutto ciò che sembra trovare va nei dettagli dell'utilizzo dell'autenticazione basata su moduli tramite ruoli o utilizza un DB per archiviare le informazioni.
Tutto quello che voglio fare è usare la nostra struttura di sicurezza già delineata in Active Directory. Qualcuno può spiegare di cosa ho bisogno?
Ho bisogno di:
-
<roleManager enabled="true"/>
inweb.config
-
<allow roles ="domain\groupA"/>
inif (User.IsInRole(@"domain\groupA")){ //do stuff }
- IIS impostato su autenticazione di Windows
- <=> nella mia pagina?
Cos'altro mi manca? Nulla? perché non funziona. eh.
Grazie a tutti per il vostro aiuto.
Soluzione
Probabilmente devi solo aggiungere un RoleProvider al tuo web.config per dire all'app come fare ricerche contro AD.
Codice di esempio da qui .
<roleManager defaultProvider="WindowsProvider"
enabled="true"
cacheRolesInCookie="false">
<providers>
<add
name="WindowsProvider"
type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>