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

C# Connection to Oracle Identity Management LDAP Server

我们正在与另一家拥有 Oracle 身份管理服务器设置的公司合作。我们将连接到此并根据从服务器重试的 LDAP 数据对用户进行身份验证。

我们已尝试通过使用 LdapConnection 对象将服务器名称和端口以及它们提供给我们的网络凭据传递进来,因此我们使用的是 Basic 的 AuthType。但是在 Bind() 上我们总是失败,因为它说我们有无效的凭据。我们已与客户合作以确保它们是正确的,并且我们已经能够使用凭据登录到 Oracle 身份管理,尽管我们必须使用来自 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;
    }
}