其他分享
首页 > 其他分享> > 如何使用Spring Ldap身份验证

如何使用Spring Ldap身份验证

作者:互联网

在我当前的项目中,我必须实现LDAP身份验证.
我正在使用JSF 2.2,primefaces和Spring 4.0以及spring-ldap-core 1.3.2和spring-security-ldap-3.2.0.以下是迄今为止我所做的工作:

弹簧Ldap.xml

<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
 <property name="url" value="ldap://mumcXXXXXXX" />
 <property name="base" value="dc=ad,dc=XXX,dc=com"/>
 <property name="userDn" value="XXXX@ad.XXX.com" />
 <property name="password" value="XXXX" />
 </bean>

 <bean id="ldapTemplate" class="org.springframework.ldap.core.LdapTemplate">
    <constructor-arg ref="contextSource" />
</bean>

<bean id="ldapContact"
    class="com.csap.research.LDAPContactDAO">
    <property name="ldapTemplate" ref="ldapTemplate" />
</bean>

我的LdapContactDao

public boolean login(String username, String password) {
        AndFilter filter = new AndFilter();
        ldapTemplate.setIgnorePartialResultException(true); 
        filter.and(new EqualsFilter("userPrincipalName", username+"@ad.cXXX.com"));
        return ldapTemplate.authenticate("", filter.toString(), password);
}

此处,用户名和密码来自登录屏幕作为输入.我的问题是它非常硬编码.我不想在Spring-Ldap.xml中硬编码用户名和密码,所以有人建议在Spring LdapAuthentication and Load roles from local database使用Spring-security-Ldap,但我无法理解它.

我的问题是如何实现Ldap与spring和corse的动态集成,我将其用作前端控制器.
任何帮助都会很棒.

解决方法:

我发现这些文章有助于使用spring security设置登录表单,但是,他们不使用jsf:

http://www.mkyong.com/spring-security/spring-security-hello-world-example/
  http://www.mkyong.com/spring-security/spring-security-form-login-example/

并且发现本文对于使用ldap作为身份验证提供程序很有帮助,它不使用ldapTemplate,而是使用spring-security配置(文章中的spring-security.xml)

http://krams915.blogspot.com/2011/01/spring-security-mvc-using-ldap.html

标签:spring,ldap,spring-ldap
来源: https://codeday.me/bug/20190529/1175069.html