如何使用Spring LDAP和Spring安全性更改密码

时间:2014-07-22 20:25:48

标签: spring-security spring-ldap spring-security-ldap

我正在使用Spring LDAP和Spring安全性的最新版本。此外,我正在使用基于注释的配置,我没有XML配置文件。

我想要实现的是非常基本的,我希望能够允许用户从我的Web应用程序更改其密码。

我发现我可以通过DirContext.modifyAttributes执行该请求。这个方法需要两个属性,第一个是当前的userDn,我不知道如何轻松通过Spring。我很确定它有一个功能来实现它。

然后使用密码Attribute作为第二个参数的修改项。现在,我怎么知道需要应用于用户提供的密码的密码编码?

我从未使用过Spring LDAP / Security,一个小而简单的例子会很棒。现在,我正在测试内存中的ldap,但是我必须在本周末切换到真正的LDAP。

谢谢!

1 个答案:

答案 0 :(得分:3)

您需要使用org.springframework.security.ldap.userdetails.LdapUserDetailsManager的实例,它实现UserDetailsManager并具有更改用户密码的方法。要在非XML配置中实例化它,请执行以下操作:

@Bean
public UserDetailsService getUserDetailsService() {
    return new LdapUserDetailsManager(); // TODO give it whatever constructor params it needs
}
相关问题