Active Directory를 쿼리하기 위해 System.DirectoryServices.AccountManagement 클래스를 사용하고 있습니다.Sys.AD.AM.Net 3.5를 사용할 때 글로벌 카탈로그의 Active Directory 검색
다양한 컨텍스트를 사용하여 도메인을 쿼리 할 수 있지만 찾은 모든 예에서는 도메인 이름이 필요합니다.
string domain = "MYDOMAIN";
PrincipalContext ctx= new PrincipalContext(ContextType.Domain, domain);
일반적으로 이것은 문제가되지 않지만 우리는 하위 도메인에있는 일부 사용자가 있습니다. user.identity.name에서 도메인 정보를 구문 분석하여 계정 세부 정보를 검색 할 수있는 방법을 찾았습니다.
string loggedUser = User.Identity.Name;
string domain = loggedUser.Split(new char { '\\' })[0];
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, domain);
using (ctx) {
// Do searches, etc. here
}
내가 GUID를 모든 도메인에서 고유한지 믿을 리드 나처럼 이름 (결혼, 이혼 등)
을 변경할 수 있습니다 반면 우리는, 우리의 고유 식별자로 GUID를 사용하는 이상 교환을 기대했다이전 디렉토리 검색기 웹 서비스를 사용하면 도메인이 신뢰할 수 있기 때문에 글로벌 카탈로그 (GC)를 쿼리하고 해당 도메인이나 하위 도메인에 상관없이 사용자를 찾을 수 있습니다 ... 동일한 ' 새로운 3.5 S.DS.AM 클래스를 사용하는 GC 검색의 '기능'을 제공합니다. 심지어 가능할까요?
var principalContext = new PrincipalContext(ContextType.Domain);
을하지만 그게 도움이되지 않습니다