如何使用UnboundID LDAP SDK连接到localhost?

时间:2013-07-30 17:09:18

标签: java active-directory ldap unboundid-ldap-sdk

如何使用UnboundID LDAP SDK连接到localhost?我认为这很简单,但也许不是。我使用以下代码连接得很好,但我想选择只使用locahost连接而不必进行身份验证。

通过连接,我执行了一系列添加/删除/修改,使用以下连接可以正常工作。

public LDAPConnection connect(LdapConnectionModel connectionModel)
{
    this.connectionModel = connectionModel;
    try
    {
        // Determine is SSL port was specified
        int port = connectionModel.isSslEnabled() ? SSL_PORT : PORT;

        // Determined bind DN
        String bindDN = connectionModel.getUsername() + "@" + connectionModel.getDomain();

        // Connect
        connection = new LDAPConnection(connectionModel.getHost(), port, bindDN, String.valueOf(connectionModel.getPassword()));

        // Clear out our password
        connectionModel.setPassword(new char[] {});
    }
    catch (LDAPException e)
    {
        LOG.warning("CONNECTION FAILED: " + e.getMessage());
        LOG.warning(e.getMessage());
    }
    return connection;
}

例如,获得这样的连接很好,但后来我收到此错误: "为了执行此操作,必须在连接上完成成功的操作。"

// Connect
connection = new LDAPConnection("localhost",389);

1 个答案:

答案 0 :(得分:1)

where 或在哪个主机上运行目录服务器没有区别。当LDAP客户端连接到服务器时,该连接未经身份验证。 LDAP客户端必须使用BIND请求来请求服务器将连接的授权状态更改为允许LDAP客户端所需操作的状态。

另见