2010-02-24 25 views
0

Je peux obtenir les rôles associés à l'utilisateur authentifié mais pas aux groupes. Y at-il un moyen d'obtenir les groupesComment obtenir la liste des groupes auxquels l'utilisateur est associé dans Azman?

WindowsIdentity userIdentity = HttpContext.Current.User.Identity as WindowsIdentity; 

AzAuthorizationStoreClass azManStore = new AzAuthorizationStoreClass(); 

string storeConnectionString = ConfigurationManager.ConnectionStrings["<CONN STRING>"].ConnectionString; 

azManStore.Initialize(0, storeConnectionString, null); 

IAzApplication azApp = azManStore.OpenApplication("<APP NAME>", null); 

ulong token = (ulong)userIdentity.Token; 

IAzClientContext ctx = azApp.InitializeClientContextFromToken(token, null); 

object roles = ctx.GetRoles(String.Empty); 

Répondre

1

Je n'ai pas trouvé un moyen. Sur mon projet, nous avions une exigence pour cela et avons fini par faire une implémentation simpliste qui traversait chaque groupe et vérifiait si l'utilisateur était membre. Le problème avec cette approche est qu'elle ignore l'appartenance via des groupes dans les groupes et aussi l'appartenance par l'intermédiaire de l'utilisateur étant un membre d'un groupe AD qui est un membre du groupe AzMan. Vous pouvez développer la solution pour couvrir ces scénarios, mais je pense finalement que lorsque vous commencez à poser des questions comme celles-ci, vous pouvez vous diriger vers le chemin de sécurité basé sur les rôles avec Azman (sécurité basée sur l'opération).