如何使用 Spring LDAP 和 Spring security 更改密码

2024-02-22

我正在使用最新版本的 Spring LDAP 和 Spring security。另外,我使用基于注释的配置,并且没有 XML 配置文件。

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

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

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

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

Thanks!


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

@Bean
public UserDetailsService getUserDetailsService() {
    return new LdapUserDetailsManager(); // TODO give it whatever constructor params it needs
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Spring LDAP 和 Spring security 更改密码 的相关文章

随机推荐