문제
사용자의 전체 활성 DIRECORY LDAP 경로에서 현재 로그인을 얻는 메소드를 찾고 있습니다. 예를 들어
LDAP://CN=john.smith,OU=UK,OU=Sales,DC=Company,DC=local
해결책
이 필터를 사용하여 LDAP 디렉토리 (예 : 광고)를 쿼리하십시오.
(&(objectCategory=user)(sAMAccountName=<user-logon-name-here>))
반환 된 물체의 DN은 당신이 찾고있는 것입니다.
이 같은:
DirectorySearcher ds = new DirectorySearcher();
string userName = WindowsIdentity.GetCurrent().Name;
string userFilter = "(&(objectCategory=user)(sAMAccountName={0}))";
ds.SearchScope = SearchScope.Subtree;
ds.PropertiesToLoad.Add("distinguishedName");
ds.PageSize = 1;
ds.ServerPageTimeLimit = TimeSpan.FromSeconds(2);
ds.Filter = string.Format(userFilter, userName);
SearchResult sr = ds.FindOne();
// now do something with sr.Properties["distinguishedName"][0]
제휴하지 않습니다 StackOverflow