2 votes

User.IsInRole avec authentification Active Directory

Je veux savoir comment la fonction User.IsInRole fonctionne avec l'authentification Windows. Est-ce qu'elle ne les place que dans un seul rôle, ou est-ce qu'il y a une sorte de hiérarchie ?

Par exemple, j'ai un groupe de domaine appelé "GroupB" et ce groupe est membre de "GroupA", et un autre groupe appelé "GroupC" est membre de "GroupB". Si j'appelle User.IsInRole("GroupB") pour l'utilisateurA, l'utilisateurB et l'utilisateurC, cela ne renverra-t-il que true pour l'utilisateurB ? Et si l'utilisateur est un administrateur de domaine, IsInRole() renvoie-t-il toujours true ou false ?

J'en ai besoin pour les cas où je veux créer un groupe pour les partenaires externes et prendre des décisions en fonction de cela (comme ouvrir Internet Explorer pour les utilisateurs internes et un navigateur spécial pour les utilisateurs externes, mais si l'utilisateur interne est l'administrateur de domaine, il ouvrira un navigateur spécial si User.IsInRole renvoie toujours true pour les administrateurs de domaine). J'ai besoin de savoir exactement comment cela fonctionne pour des raisons de sécurité.

Merci de votre aide. J'ai fait des recherches sur Internet, et je n'ai pas pu trouver d'informations à ce sujet.

2voto

Tridus Points 4120

D'après mon expérience, ces fonctions ne sont PAS récursives, à moins que cela ne soit spécifiquement indiqué. UserPrincipal.GetAuthorizationGroups() par exemple, est récursif.

Je ne crois pas que User.IsInRole() le soit.

0voto

Bueller Points 1798

Je vous suggère de parcourir ce site et les articles qui y sont liés. Ils vous seront d'une grande aide. http://msdn.microsoft.com/en-us/library/z164t8hs(v=VS.71).aspx

0voto

Brian Desmond Points 4255

User.IsInRole va être fonctionnellement récursif avec Windows AuthN. Il est basé sur votre jeton de sécurité qui est construit par AD/ SAM local lors de la connexion. Ce jeton inclut tous les groupes dont vous êtes membre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X