2

在我们公司,我们有一个项目应该将 Novell eDirectory 与 .net 应用程序一起使用。我已尝试使用 Novell Api (http://www.novell.com/coolsolutions/feature/11204.html) 在 .NET 应用程序之间进行连接。它工作正常。

但是,根据要求,我们特别需要 .net API 以不与 Novell Api 连接,这不起作用。与 .NET Api 的连接和绑定DirectoryServices不起作用。

我们的 Novell eDirectory 使用以下凭据安装:

  1. IP地址:10.0.x.xx(witsxxx.companyname.com)

  2. 树 : SXXXX

  3. 新树上下文:WIxxxK01-NDS.OU=STATE.O=ORG

  4. 管理员上下文是:ou=STATE,o=ORG

  5. 管理员:管理员

  6. 密码:管理员

我使用了 Novell Api 并使用了以下代码

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);
}

这是正确绑定并且可以进行搜索。

现在我的问题是当我尝试使用 .NET APi 并使用System.DirectoryServices orSystem.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();

所有人都会例外。

你能帮我解决这个问题吗?应该怎么userDNDirectoryEntry

我也用过,System.DirectoryServices.Protocols.LdapConnection但没有结果。只有相同的例外。LdapDirectoryIdentifierSystem.Net.NetworkCredential

感谢您宝贵的时间和帮助。

谢谢,比努

4

1 回答 1

0

要诊断您的 LDAP 连接错误,请从管理员那里访问 eDirectory 服务器,并使用 iMonitor(serverIP:8028/nds 并选择 Dstrace),在 Dstrace 中清除所有选项卡并启用 LDAP 跟踪,然后进行绑定,看看会发生什么LDAP 端看看那里是否有更具描述性的错误。或者,如果您甚至可以绑定并建立连接。

于 2012-08-09T14:33:39.627 回答