我使用java代码连接到LDAP,我想在属性文件或xml文件中提取它以解决运输问题

时间:2012-09-20 08:33:08

标签: java xml properties ldap

这是我的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;

       }

感谢

2 个答案:

答案 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)代表端口
  • 所有SASL和简单BIND参数
  • 所有安全连接参数,例如(--useSSL--useStartTLS

LDAPCommandLineTool类继承了一个方法getConnection(),它建立了与这些命令行参数指定的服务器的连接。

或指定属性文件的名称,并使用Apache Commons Configuration或load() java.util.properties方法解析属性文件。

无论哪种方式,JNDI都不应该用于新代码。请改用UnboundID LDAP SDK。

另见