Je suis en train de créer une application qui utilise <autorisation> règles pour limiter les groupes qui sont autorisés à accéder à l'application. J'utilise l'authentification Windows et le fournisseur de rôle Windows pour ASP.NET (AspNetWindowsTokenRoleProvider). J'utilise des groupes locaux pour définir les rôles, comme le domaine sur lequel je développe, et le domaine vers lequel l'application sera éventuellement déployée sera différent. Lorsque j'ai initialement déployé mon application sur un serveur IIS7 et configuré le site pour utiliser l'authentification de base avec le domaine par défaut approprié, tout fonctionnait correctement pour les utilisateurs déjà affectés aux groupes autorisés. Cependant, lorsque j'ai tenté d'ajouter un nouvel utilisateur à l'un des groupes autorisés, cet utilisateur n'a jamais été autorisé à accéder à l'application. J'ai tout fait sauf pour redémarrer la machine. J'ai redémarré IIS ainsi que supprimé tous les fichiers temporaires et les cookies du côté client, en vain.ASP.NET de Windows fournisseur de rôles (AspNetWindowsTokenRoleProvider) ne pas avoir remarqué un utilisateur ajouté à un nouveau groupe
Il convient de préciser qu'il s'agit d'une application ASP.Net MVC, même si je ne pensais pas que cela ferait vraiment une différence. Voici les entrées pertinentes de mon web.config:
<!-- use windows authentication -->
<authentication mode="Windows" />
<!-- use the Windows role provider -->
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" />
<!-- global authorization rules -->
<authorization>
<allow roles="admins,contractors"/>
<deny users="*" />
</authorization>
Par exemple, disons que nous avons un utilisateur, un groupe « Domain \ joe », ce n'est pas actuellement membre des « admins » locaux, mais nous vouloir l'ajouter. Nous allons l'ajouter, et quand Joe tente de se connecter, il voit une erreur qu'il n'est pas authentifié (après plusieurs tentatives de connexion échouées). Aucune quantité d'IIS ne redémarre ou que Joe supprime ses cookies et d'autres fichiers temporaires pour résoudre ce problème.
ASP.Net conserve-t-il une sorte de cache de rôle/groupe secret? Comment allez-vous ajouter un nouvel utilisateur à un groupe et vous assurer que le fournisseur de rôle verra que l'utilisateur a été ajouté à un groupe?
Vous devriez publier ce commentaire comme réponse et l'accepter afin qu'il soit clair pour les autres utilisateurs qu'il est résolu. –