这是我的java代码,它允许我连接到ldap服务器。
public static Hashtable getConnexion()
{
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:10389");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "uid=admin,ou=system");
env.put(Context.SECURITY_CREDENTIALS, "secret");
return env;
}
感谢
答案 0 :(得分:0)
还有一个选择。您可以将上述属性作为JVM属性。
答案 1 :(得分:0)
如果LDAP客户端是独立的,则可以通过多种方式进行配置:
使用UnboundID LDAP SDK LDAPCommandLineTool
类并指定程序的参数。例如,如果包含main
方法的类的名称为samplecode.MyLdapConnectionClass
:
java -cp my-classpath samplecode.MyLdapConnectionClass --hostname localhost \
--port 10389 \
--bindDN "uid=admin,ou=system" \
--bindPassword "secret"
UnboundID LDAP SDK LDAPCommandLineTool
类自动处理所有这些类型的命令行参数,例如:
--hostname
(或-h
)--port
(或-p
)代表端口--useSSL
或--useStartTLS
) LDAPCommandLineTool
类继承了一个方法getConnection()
,它建立了与这些命令行参数指定的服务器的连接。
或指定属性文件的名称,并使用Apache Commons Configuration或load()
java.util.properties
方法解析属性文件。
无论哪种方式,JNDI都不应该用于新代码。请改用UnboundID LDAP SDK。