LDAP密码重置不尊重pwdhistory属性

时间:2017-04-03 18:52:12

标签: java ldap passwords openldap apache-directory

我使用Java - Apache Directory Client API使用ldapConnectionTemplate访问Apache DS Ldap服务器。

我正在尝试实现一项允许用户重置/更改密码的功能。我的密码策略的密码历史属性值为5.因此用户将无法使用之前的5个密码。

当我使用modifyPassword方法更改密码时(即通过传递当前密码和新密码作为用户),它会遵守密码历史记录策略。即我不允许使用前5个密码中的任何一个并获得预期的密码异常。但是当使用重置选项(即 - 仅新密码)时,它不遵守密码策略。它接受任何值(包括当前值)并更新密码。

如何使重置密码方案符合密码历史记录策略?欢迎任何想法,建议和解决方案。

1 个答案:

答案 0 :(得分:0)

我不相信你想要的行为是在任何地方指定的。

重置'在某种意义上,你的意思是管理员将它设置为已知的东西,告诉用户它是什么,并且pwdReset属性设置为TRUE,以便用户在下次登录时被迫立即更改它 - 你必须使用PasswordPolicy请求控件并检查CHANGE_AFTER_RESET的任何PasswordPolicyResponse来强制执行。

没有特别的理由为什么 admin 应该被pwdHistory约束,无论如何用户将被迫再次更改密码,他 pwdHistory约束的时间。