2008-10-16 5 views
14

Je tente de faire quelque chose de simple (je pensais) - sécuriser mon application en utilisant la sécurité basée sur les rôles en utilisant des groupes Active Directory dans notre domaine.Asp.Net Authentification par rôle utilisant des groupes de sécurité dans Active Directory

Plus précisément, j'ai besoin d'afficher/masquer des éléments sur une page selon que l'utilisateur actuellement connecté fait partie de domain\groupA dans Active Directory. Pour une raison quelconque, il est difficile de trouver des informations sur l'utilisation d'Active Directory pour cela. Tout ce que je semble trouver dans les détails de l'utilisation de l'authentification basée sur les formulaires à l'aide de rôles, ou il utilise une base de données pour stocker les informations.

Tout ce que je veux faire est d'utiliser notre structure de sécurité déjà décrite dans notre Active Directory. Quelqu'un peut-il expliquer s'il vous plaît ce dont j'ai besoin?

Ai-je besoin:

  1. <roleManager enabled="true"/> dans web.config
  2. <allow roles ="domain\groupA"/> dans web.config
  3. IIS mis à l'authentification Windows
  4. if (User.IsInRole(@"domain\groupA")){ //do stuff } dans ma page?

Quoi d'autre manque-t-il? N'importe quoi? Parce que ça ne marche pas. il h.

Merci à tous pour votre aide.

Répondre

22

Vous avez probablement juste besoin d'ajouter un RoleProvider à votre web.config pour dire à l'application comment faire des recherches sur AD.

Exemple de code de here.

<roleManager defaultProvider="WindowsProvider" 
    enabled="true" 
    cacheRolesInCookie="false"> 
    <providers> 
    <add 
     name="WindowsProvider" 
     type="System.Web.Security.WindowsTokenRoleProvider" /> 
    </providers> 
</roleManager> 
Questions connexes