C#与Oracle身份管理LDAP服务器的连接

C#与Oracle身份管理LDAP服务器的连接,c#,ldap,ldapconnection,C#,Ldap,Ldapconnection,我们正在与另一家安装了Oracle Identity Management Server的公司合作。我们将连接到此服务器,并根据从服务器重试的LDAP数据对用户进行身份验证 我们已经尝试通过使用LdapConnection对象将服务器名称和端口以及它们提供给我们的网络凭据一起传递给我们,从而插入到其中,因此我们使用的是AuthType的Basic。但是在Bind()上,我们总是失败,因为它说我们有无效的凭据。我们已经与客户端合作以确保它们是正确的,并且我们已经能够使用凭据登录到Oracle Id

我们正在与另一家安装了Oracle Identity Management Server的公司合作。我们将连接到此服务器,并根据从服务器重试的LDAP数据对用户进行身份验证

我们已经尝试通过使用LdapConnection对象将服务器名称和端口以及它们提供给我们的网络凭据一起传递给我们,从而插入到其中,因此我们使用的是AuthType的Basic。但是在Bind()上,我们总是失败,因为它说我们有无效的凭据。我们已经与客户端合作以确保它们是正确的,并且我们已经能够使用凭据登录到Oracle Identity Management,尽管我们必须使用来自SearchRequests可分辨名称的数据。但即使使用它,我们也会不断收到相同的错误。客户端还使用凭据通过Java进行连接

这是一个我认为没有解决办法的问题,但是有人知道如何去做吗?我们正在运行相同的代码,该代码正在工作并从Active Directory中提取。因此,只要Oracle支持以这种方式连接,我们的代码就应该可以了。但是找到任何与这个话题相关的东西就像拔牙一样

有人有过这方面的经验吗?请让我知道,如果需要,我很乐意提供任何额外的细节


提前谢谢

我最近摸索着使用LDAP连接到OID。以下是最终为我工作的代码:

// make sure the server and port are correct
using (var ldap = new LdapConnection("ldap.company.com:3060"))
{
    // make sure to pass the username as a distinguishedName
    var dn = string.Format("cn={0},cn=users,dc=company,dc=com", username);

    // passing null for the domain worked for me
    var credentials = new System.Net.NetworkCredential(dn, password, null);
    ldap.AuthType = AuthType.Basic;

    try
    {
        ldap.Bind(credentials);
        return true;
    }
    catch (LdapException ex)
    {
        return false;
    }
}

看起来唯一的主要区别是您在绑定过程中使用了凭据,而我们将它们放入ldapConnection对象本身。但你是个救生员。这太棒了!非常感谢你!