2010-11-29 69 views
2

J'essaie d'évaluer AzMan pour l'une de mes applications ASP.NET, mais j'ai un problème étrange. Ma demande d'essai prévoit trois rôles:Sécurité basée sur les rôles ASP.NET avec les rôles AzMan et AD

  • utilisateur
  • Propriétaire
  • Administrateur

J'ai créé magasin d'autorisations XML situé dans App_Data de l'application et a ajouté ces définitions de rôle. J'ai configuré mon application de test ASP.NET pour utiliser AuthorizationStoreRoleProvider et j'ai ajouté un code de test qui utilise Principal.IsInRole et PrincipalPermission. Tout a bien fonctionné sur mon ordinateur local avec des comptes locaux affectés aux rôles dans AzMan.

Ensuite, j'ai déplacé mon application de test sur le serveur et j'ai affecté des utilisateurs et des groupes Active Directory aux rôles d'AzMan. Maintenant PrincipalPermission et Principal.IsInRole ne fonctionnent plus. Il est intéressant de noter que si j'assigne le groupe Intégré Tout le monde à un rôle quelconque, cela pose un problème avec les utilisateurs AD et les groupes affectés aux rôles. Puis-je utiliser le magasin d'autorisations XML avec des groupes AD et des utilisateurs? Quoi d'autre peut causer de tels problèmes?

Répondre

1

Vérifiez les paramètres de sécurité de votre application asp.net.

Il semblerait que l'authentification soit déjà activée, donc vos utilisateurs entrent en tant qu'utilisateurs, pas eux-mêmes, donc cela fonctionne pour tout le monde.

+0

Le paramètre de sécurité est correct. J'ai une page de diagnostic où je vois le nom d'utilisateur et le domaine d'utilisateur authentifié. –

+0

Longue vue: le préfixe de domaine est-il absent lors de l'attribution de groupes à des rôles Azman, de sorte qu'il essaie d'utiliser des groupes locaux au lieu de groupes de domaines? L'attribution de groupe a également été effectuée après la dernière connexion, si oui, déconnectez-vous et revenez. –

+0

Bingo. La structure AD est beaucoup plus complexe que ce à quoi je m'attendais et les groupes et utilisateurs sont dupliqués entre deux arbres. J'ai accidentellement assigné des groupes et des utilisateurs de différents arbres AD alors je m'y attendais. –

0
<roleManager enabled="true" cacheRolesInCookie="false" cookieName=".ASPXROLES" cookieTimeout="30" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="All" defaultProvider="AspNetWindowsTokenRoleProvider" createPersistentCookie="false" maxCachedResults="25"> 
     <providers> 
      <clear/> 
      <add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 
     </providers> 
    </roleManager>