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:

  1. <roleManager enabled="true"/> in web.config
  2. <allow roles ="domain\groupA"/> in if (User.IsInRole(@"domain\groupA")){ //do stuff }
  3. IIS impostato su autenticazione di Windows
  4. <=> nella mia pagina?

Cos'altro mi manca? Nulla? perché non funziona. eh.

Grazie a tutti per il vostro aiuto.

È stato utile?

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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top