活动目录连接测试和一些配置详细信息

时间:2014-01-07 04:25:35

标签: java spring spring-security active-directory ldap

我们正在使用Spring安全性在Java中开发Web应用程序。我的任务是添加对针对Active Directory验证用户身份的支持。 为此,我将我们的2008服务器之一提升为域控制,并添加了一个带有ActiveDirectoryLdapAuthenticationProvider spring类的代码片段来验证登录用户。 它与ldap和ldaps protcols配合使用。

但有几个问题:

1)ActiveDirectoryLdapAuthenticationProvider构造函数只接受AD url和域名,而不像OpenLDAP的LdapAuthenticationProvider,它需要mote输入详细信息,如managerDN,管理员密码,用户搜索库和组搜索库等。不应该Active Directory需要所有这些数据吗?我认为至少需要管理员用户/密码来允许连接!当然,在我的测试例程中,我只提供了url和domain,并成功验证了用户。

2)我需要编写快速连接测试例程来验证用户输入的AD URL和域是否有效。怎么做?

顺便说一句,我们的应用程序将部署在Ubuntu上。

感谢。

1 个答案:

答案 0 :(得分:0)

能够使用以下代码段进行连接测试:

Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://dc.example.com");
env.put(Context.SECURITY_AUTHENTICATION, "none");

try {
   new InitialDirContext(env);
} catch (NamingException e) {
   // not connected
}

仍然试图了解网址和域名信息足以与AD对话,或者在某些情况下需要提供更多对象信息。