2017-02-20 4 views
2

Ich fange ernsthaft an zu denken, dass, wo ich arbeite, ist verflucht, was die Entwicklungsbemühungen angeht, ich laufe immer wieder in sehr seltsame Probleme.IsUserInRole Problem mit Domänen-Admins-Gruppe (kein Konfigurationsproblem)

Ich verwende Roles.IsUserInRole(@"Domain\Domain Admins"), um zu überprüfen, ob ein Benutzer ein Domänenadministrator ist.

Aus irgendeinem Grund erkennt es mich nicht in dieser Gruppe, obwohl ich seit Jahren darin bin. Ich dachte zuerst, es hätte etwas mit dem Raum zu tun, aber Roles.IsUserInRole(@"Domain\Domain Users") funktioniert gut. Beide Gruppen befinden sich in derselben AD OU.

Verliere ich meine Gedanken oder gibt es wirklich etwas Besonderes an der Gruppe "Domain Admins"?

EDIT:

 List<GroupPrincipal> result = new List<GroupPrincipal>(); 

     PrincipalContext yourDomain = new PrincipalContext(ContextType.Domain); 

     UserPrincipal user = UserPrincipal.FindByIdentity(yourDomain, User.Identity.Name); 

     if (user != null) 
     { 
      PrincipalSearchResult<Principal> groups = user.GetAuthorizationGroups(); 

      foreach (Principal p in groups) 
      { 
       if (p is GroupPrincipal) 
       { 
        result.Add((GroupPrincipal)p); 
       } 
      } 
     } 

     var myRoles = Roles.GetRolesForUser(User.Identity.Name); 

verwendete ich den obigen Code-Gruppenmitgliedschaft zu überprüfen. Domain Admins IS gelistet in der result Variable, aber nicht in myRoles

+0

Schreiben Sie ein Skript alle Gruppen drucken Sie sind und sehen, ob das hilft. – hoodaticus

+0

Ich habe eine Bearbeitung hinzugefügt, die den Code zeigte, mit dem ich festgestellt habe, ob er mich in der Gruppe Domänen-Admins sehen konnte. Bitte beachten Sie meine Kommentare in der Bearbeitung –

+0

Mögliche Duplikate von [User.IsInRole zurückkehrt falsch] (http://stackoverflow.com/questions/2451068/user-isinrole-returning-false) – hoodaticus

Antwort

Verwandte Themen