à l'aide de l'authentification windows avec des groupes active directory que les rôles

J'ai lu à plusieurs questions sur ce sujet,
comme ici, ici, ici et ici;
mais aucun n'a fourni une solution qui fonctionne dans mon cas.

Ce que je veux faire:

Mettre en œuvre l'authentification Windows pour une application web qui est utilisé uniquement par nos propres employés. De cette façon, ils ne devraient pas avoir besoin de se connecter dans l'application, mais déjà être authentifiés par le moyen d'avoir ouvert une session dans windows.

Aussi, j'ai besoin de restreindre l'accès à certains domaines de l'application, basée sur des Groupes de Sécurité Active Directory de l'utilisateur peut être affecté à d'.

Donc, je veux être en mesure de décorer Contrôleurs /Actions avec

[Authorize(Roles="SomeRole")]

Ce que j'ai essayé:

J'ai

<authentication mode="Windows" />

dans mon web.config. Et j'ai ajouté plusieurs permutations d'un <roleManager> que certains des postes liés à ci-dessus. Actuellement, j'ai ce rôle de gestionnaire de

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

trouvés dans les cette post.

Comme il est, si j'ai décorer un contrôleur avec [Authorize], je peux y accéder amende.

Cependant:

Je peux voir dans mes paramètres de l'utilisateur sur le réseau, que je fais partie d'une ANNONCE de sécurité groupe qui s'appelle "IL". Mais si je décorer le même contrôleur avec [Authorize(Roles="IT")] j'obtiens l'écran blanc qui est desservie par le asp.net serveur de développement pour un 401 non autorisé. Ce qui est inattendu. Je pense que je devrais être en mesure d'afficher la page que je suis connecté à windows et je suis partie de le groupe "IL".

La plupart tout ce que je viens de trouver sur ce sujet que ça sonne très simple à accomplir ce que je suis en train de faire, mais je suis clairement en manque de quelque chose ici.

  • Avez-vous mis en place le ASP.NET fournisseur d'appartenances pour utiliser Active Directory, trop? Non seulement le rôle de fournisseur....
  • J'ai ASpNetActiveDirectoryMembershipProvider définie comme valeur par défaut dans le web.config. Je peux poster que si vous vous sentez il pourrait y avoir une erreur là l'origine du problème.
  • C'est un vieux thread, mais avec l'ANNONCE de la sécurité, vous avez besoin de spécifier le nom de domaine? [Autoriser(Rôles = @"domainname\SomeRole")]
InformationsquelleAutor Forty-Two | 2012-12-07