, 나는 Category
역할의 유형입니다 Category.Role
형식의 역할과 "직원"을 가지고있다. 예 : Foo.Bar
및 Foo.Foobar
- 둘 다 Foo
역할입니다. Foo는 실제로 프로젝트에서 네임 스페이스가 아니지만 그런 식으로 생각하고 있습니다. Active Directory/LDAP는 네임 스페이스와 동일합니까? 코드에서
Foo
역할, 또는 특정 모두 쿼리
Foo.X
역할?
, 나는 Category
역할의 유형입니다 Category.Role
형식의 역할과 "직원"을 가지고있다. 예 : Foo.Bar
및 Foo.Foobar
- 둘 다 Foo
역할입니다. Foo는 실제로 프로젝트에서 네임 스페이스가 아니지만 그런 식으로 생각하고 있습니다. Active Directory/LDAP는 네임 스페이스와 동일합니까? 코드에서
Foo
역할, 또는 특정 모두 쿼리
Foo.X
역할?
는 Active Directory에, 다른 그룹의 구성원으로 그룹을 할당 할 수 있습니다. 그래서, 내가 올바르게 이해한다면, 당신이 원하는 것은 "Foo"라는 AD 그룹을 만들고 "Foo.Bar"와 "Foo.Foobar"라는 두 개의 하위 그룹을 만드는 것입니다. 이 두 하위 그룹을 "Foo"그룹의 구성원으로 지정하십시오.
그런 다음, "Foo.Bar"그룹에 만 담당 사용자에 대한. 그는 "Foo"와 "Foo.Bar"의 역할을 모두 담당하게됩니다. 즉, 해당 사용자의 WindowsPrincipal을 얻은 경우 WindowsPrincipal.IsInRole ("Foo") 및 WindowsPrincipal.IsInRole ("Foo.Bar")이 모두 true를 반환합니다. 당신이 회원하지만 순수 LDAP 쿼리를 확인에서 IsInRole() 함수를 사용하지 않는 경우
, 나는 우리가 중첩 된 그룹 관계를 해결하는 쉬운 방법을 찾을 수 없습니다 두렵다. 하나의 LDAP 쿼리 호출을 만드는 방법을 실제로보고 싶다면 AD 사용자 개체에서 "tokenGroups"특성을 찾으십시오. AD로 계산 된 계산 된 특성입니다. 여기에는 모든 중첩 된 그룹 정보가 들어 있습니다. 유일한 것은 그것이 SID를 저장하고 있다는 것입니다. 따라서 AD 그룹의 SID를 찾아 LDAP 바이너리 형식으로 변환하고 쿼리를 수행해야합니다.
azman 역할에 대해 이야기하고 있습니까? 또는 AD 그룹을 역할로 사용하는 것에 대해 이야기하고 있습니까? –
@Harvey 광고 그룹. – Jay
AD 그룹 Parent를 만든 다음 AD 그룹 Child1과 Child2를 Parent 그룹에 추가 할 수 있습니다. 그런 다음 Child1에 추가 된 사용자는 자동으로 Parent 및 Child1 역할을 갖습니다. IsInRole()을 사용하는 경우 자동으로 작동해야합니다. –