0
그래서 나는 LDAP 검색이 작동하지 않는 이유를 알아 내려고 미쳤다.ASP.NET 바인드 및 쿼리 LDAP
private String getDNFromLDAP(String strUID)
{
String strDN = "";
//Create an LDAP Entry Object
DirectoryEntry entry = new DirectoryEntry("LDAP://something.blah.com/cn=people,dc=blah,dc=com");
entry.AuthenticationType = AuthenticationTypes.SecureSocketsLayer;
entry.Username = "cn=myaccount,cn=special,dc=blah,dc=com";
entry.Password = "supersecret";
DirectorySearcher mySearcher = new DirectorySearcher(entry);
mySearcher.SearchScope = SearchScope.Subtree;
mySearcher.Filter = "(uid=" + strUID + ")";
SearchResult result = mySearcher.FindOne();
int nIndex = result.Path.LastIndexOf("/");
strDN = result.Path.Substring((nIndex + 1)).ToString().TrimEnd();
//Clean up objects
entry.Close();
entry.Dispose();
mySearcher.Dispose();
//returns the DN
return strDN;
}
나는 (의 ldapsearch로 확인) 내가 존재 검색하고있는 객체를 알고 있지만 내 결과는 빈 돌아 오는 유지합니다. 기본 dn에 문제가 있다고 의심되지만 DirectorySearch가 기본 dn으로 사용하는 것을 확인하는 방법을 모르겠습니다. 어떤 도움이라도 인정 될 것입니다.
내가 이해하고있는 것처럼 DirectorySearcher 생성자는 내 DirectoryEntry의 값을 사용하고이를 사용하여 searchroot 속성을 설정합니다. http://msdn.microsoft.com/en-us/library/y49s2h23.aspx 나는 잘못 했습니까? – DR913
정확합니다. 내 생각은 이것이 검색 루트이기 때문에 귀하의 검색은 당신이 찾고 있던 항목을 찾을 수 없습니다. 검색 루트를 부모 노드로 변경하고 어떻게 시작하는지 확인할 수 있습니다. –
이 코드와 3 일간의 전투가 끝난 후 사용 권한 문제가 발생했습니다. 검색 루트를 수정하여 그것을 파악했습니다. – DR913