2012-10-24 5 views
1

두 개의 AD 그룹이 Group1 및 Group2로 있습니다. Windows 응용 프로그램을 통해 동일한 사용자를이 그룹에 추가합니다. 나는 폴더에 abc라고 말하면서 AD Group1을 붙인다. abc에서 자식 폴더 abcd를 만들고 상속 속성을 비활성화하여 AD Group2를 연결합니다. 사용자 자격 증명을 사용하여 폴더에 액세스하려고 시도하면 abc에 액세스 할 수 있지만 abcd 폴더에 액세스하려고하면 액세스가 거부되어 예외가 발생합니다. 이 예외의 원인은 무엇이며 솔루션은 무엇입니까?AD 그룹 폴더 액세스

답변

0

당신은 언제나 사용자가 그룹 1의 멤버와 2 .... 이런

뭔가 있는지 여부를 확인하기 위해 테스트 할 수 있습니다 :

// set up domain context 
PrincipalContext ctx = new PrincipalContext(ContextType.Domain); 

// find a user 
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "SomeUserName"); 

if(user != null) 
{ 
GroupPrincipal group1 = GroupPrincipal.FindByIdentity(ctx, "group1"); 

if(group1 != null) 
{ 
    bool userIsMemberOfGroup1 = user.IsMemberOf(group1); 
} 

GroupPrincipal group2 = GroupPrincipal.FindByIdentity(ctx, "group2"); 

if(group2 != null) 
{ 
    bool userIsMemberOfGroup2 = user.IsMemberOf(group2); 
} 
} 

그런 식으로, 당신은 모든 을 열거 할 필요가 없습니다 그룹의 사용자는 관심있는 그룹 만 확인하십시오.

System.DirectoryServices.AccountManagement (S.DS.AM) 네임 스페이스를 확인해야합니다. 모두 여기에 대해 읽기 :

새로운 S.DS.AM 그것이 정말 쉽게 AD에서 사용자 및 그룹에 함께 놀러 할 수 있습니다!

+0

사용자 인증 정보를 전송할 필요가없는 Windows 인증 메커니즘을 사용했습니다. AD는 자동으로이를 수행합니다. 그러나 한 사용자가 상위 폴더에 대한 액세스 권한을 갖고 두 번째 그룹이 하위 폴더에 대한 액세스 권한을 가지고있는 두 그룹에 동일한 사용자가있는 경우 권한/권한이없는 예외가 발생합니다. –

관련 문제