2017-02-20 6 views
2

저는 개발 노력에 관한 한 저의 일이 저주라고 생각하기 시작했습니다. 매우 이상한 문제가 계속 발생하고 있습니다.Domain Admins 그룹의 IsUserInRole 문제 (구성 문제가 아님)

사용자가 도메인 관리자인지 확인하려면 Roles.IsUserInRole(@"Domain\Domain Admins")을 사용하고 있습니다.

내가 몇 년 동안 그 그룹에 있었지만, 그 그룹에서 나를 알아 채지 못한다. 처음에는 공간과 관련이 있다고 생각했지만 Roles.IsUserInRole(@"Domain\Domain Users")은 잘 작동합니다. 두 그룹 모두 동일한 AD OU에 있습니다.

"Domain Admins"그룹에 대해 뭔가 특별한 점이 있습니까?

편집 :

 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); 

나는 그룹 구성원을 확인하기 위해 위의 코드를 사용했다. Domain Adminsresult 변수에 나열되어 있지만, 그렇지 않은 변수는 myRoles

+0

당신이에있는 모든 그룹을 인쇄하고 도움이되는지 볼 수있는 스크립트를 작성 (약 작품을 설명하는 유일한 이유가되지 않습니다). – hoodaticus

+0

Domain Admins 그룹에서 나를 본 것인지 확인하는 데 사용한 코드를 보여주는 편집을 추가했습니다. 편집 내 의견을 참조하십시오 –

+0

가능한 중복 [User.IsInRole false를 반환] (http://stackoverflow.com/questions/2451068/user-isinrole-returning-false) – hoodaticus

답변