如何使用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);
答案 0 :(得分:1)
where 或在哪个主机上运行目录服务器没有区别。当LDAP客户端连接到服务器时,该连接未经身份验证。 LDAP客户端必须使用BIND请求来请求服务器将连接的授权状态更改为允许LDAP客户端所需操作的状态。