우리 회사에는 .net 응용 프로그램과 함께 Novell eDirectory를 사용해야하는 프로젝트가 있습니다. .NET 응용 프로그램을 연결하기 위해 Novell Api (http://www.novell.com/coolsolutions/feature/11204.html)를 사용해 보았습니다. 잘 작동합니다..NET DirectoryServices가 포함 된 Novell eDirectory
그러나 요구 사항에 따라 Novell Api와 연결되지 않는 .net API가 필요합니다. 작동하지 않습니다. .NET Api로 연결 및 바인딩 DirectoryServices
이 작동하지 않습니다.
우리의 노벨 e 디렉토리는 다음과 같은 자격 증명으로 설치됩니다
IP 주소 : 10.0.x.xx (witsxxx.companyname.com)
트리 : SXXXX
새로운 트리 컨텍스트 : WIxxxK01-NDS.OU = STATE.O = ORG
ADMIN 컨텍스트 : ou = STATE, o = ORG
관리자 : 관리자
암호 : 관리자
나는 코드
String ldapHost ="10.0.x.xx";
String loginDN = "cn=admin,cn=WIxxxK01-NDS,OU=STATE,o=ORG";
String password = string.Empty;
String searchBase = "o=ORG";
String searchFilter = "(objectclass=*)";
Novell.Directory.Ldap.LdapConnection lc = new Novell.Directory.Ldap.LdapConnection();
try
{
// connect to the server
lc.Connect(ldapHost, LdapPort);
// bind to the server
lc.Bind(LdapVersion, loginDN, password);
}
이 올바르게 바인딩하고 검색을 수행 할 수 있습니다 다음과 노벨 API를 사용하여 사용.
이제 .NET APi를 사용하고 System.DirectoryServices
또는 System.DirectoryServices.Protocols
을 사용할 때 연결 또는 바인딩되지 않습니다.
나는 심지어 다음과 같은 DirectoryEntry.Exists
방법을 테스트 할 수 없습니다. 그것은 예외가 될 것입니다.
string myADSPath = "LDAP://10.0.x.xx:636/OU=STATE,O=ORG";
// Determine whether the given path is correct for the DirectoryEntry.
if (DirectoryEntry.Exists(myADSPath))
{
Console.WriteLine("The path {0} is valid",myADSPath);
}
else
{
Console.WriteLine("The path {0} is invalid",myADSPath);
}
이 Server is not operational
또는 Local error occurred
등 내가 디렉토리 경로에 무슨 일이 일어나고 있는지 모르는 말하고있다.
DirectoryEntry de = new DirectoryEntry("LDAP://10.0.x.xx:636/O=ORG,DC=witsxxx,DC=companyname,DC=com", "cn=admin,cn=WIxxxK01-NDS,o=ORG", "admin");
DirectorySearcher ds = new DirectorySearcher(de, "&(objectClass=user)");
var test = ds.FindAll();
을 시도했다.
이 문제를 해결할 수 있도록 도와 주시겠습니까? DirectoryEntry
의 경우 userDN
은 어떻게되어야합니까?
나는 LdapDirectoryIdentifier
과 System.Net.NetworkCredential
과 같이 System.DirectoryServices.Protocols.LdapConnection
도 사용했지만 결과는 없습니다. 같은 예외 만.
귀하의 귀중한 시간과 도움에 감사드립니다.(: 8028/NDS와 Dstrace을 선택 serverip로)를 Dstrace 분명 모든 탭과 활성화하여 LDAP 연결 오류를 진단 관리자의 e 디렉토리 서버에 대한 액세스를 얻고, iMonitor를 사용하려면
감사합니다, Binu
내가 기억하는 한, 제대로 작동하지 못했습니다. [DirectoryEntry에 대한 MSDN 설명서] (http://msdn.microsoft.com/en-us/library/system.directoryservices.directoryentry.aspx)에도 명확하게 다음과 같이 나와 있습니다. * DirectoryEntry 클래스는 노드 또는 개체를 ** Active 디렉토리 도메인 서비스 ** 계층 구조. * -'System.DirectoryServices'는 실제로 ** Active Directory **를 대상으로합니다 - 실제로 다른 것을 지원하지는 않습니다. 따라서 기본 Novell API를 계속 사용하거나 낮은 수준의 원시 LDAP (S.DS.Protocols') –
을 조사해야 할 수도 있습니다. [이 기사의 CodeProject] (http://www.codeproject.com/ Articles/19097/eDirectory-Authentication-LdapConnection-and)을 시작점으로 사용하거나 [social.msdn.com의이 게시물] (http://social.msdn.microsoft.com/Forums/sk/)을 참조하십시오. netfxbcl/thread/bb145883-5f00-47f7-a7b7-1f2d09f4bf53) –
원시 코드 (S.DS.Protocols)로 다음 코드를 시도했지만 예외가 있습니다. 시도하십시오 { LdapDirectoryIdentifier lid = new LdapDirectoryIdentifier ("10.0.x.xx", 389); System.Net.NetworkCredential cred = 새 System.Net.NetworkCredential ("cn = admin, cn = witsxxx-NDS, o = ORG", string.Empty); using (System.DirectoryServices.Protocols.LdapConnection lconn = new System.DirectoryServices.Protocols.LdapConnection (lid)) { lconn.Bind (cred); \t \t} } –