我必须在java中做一个登录页面,它必须使用来自LDAP的凭据登录,有没有人有任何教程或示例我可以使用,因为我不知道从哪里开始
谢谢 !
您应该使用具有许多实用程序和教程的 spring-security。
这是官方文档的链接:http: //forum.springsource.org/showthread.php?124263 -Basic-LDAP-Example-For-Spring-Security-3-1
顺便说一句,这是在纯 JNDI 中绑定到 ldap 服务器的代码:
/**
* Returns the ldap context.
*
* @param user the user name
* @param password the password
* @return the prepared context
* @throws NamingException in case of...
*/
protected LdapContext buildContext(final String user, final String password) throws NamingException {
String providerURL = new StringBuffer(getLdapScheme()) //
.append("://") //
.append(getLdapHost()) //
.append(":") //
.append(getLdapPort()) //
.append("/") //
.append(getLdapRootDN()).toString();
Hashtable<String, String> properties = new Hashtable<>();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
properties.put(Context.PROVIDER_URL, providerURL);
if (!isEmpty(user)) {
// basic authentication
properties.put(Context.SECURITY_AUTHENTICATION, "simple");
properties.put(Context.SECURITY_PRINCIPAL, user);
properties.put(Context.SECURITY_CREDENTIALS, defaultIfEmpty(password, ""));
} else {
// anonymous connection
properties.put(Context.SECURITY_AUTHENTICATION, "none");
}
Control[] controls = null;
LOGGER.info("creating new ldap context [url:{}, user: {}]", providerURL, user);
return new InitialLdapContext(properties, controls);
}
你应该看看OpenLdap Java Library。他们有各种关于如何使用他们的工具包的代码示例。