2017-04-03 40 views
0

我正在使用Java -Apache目录客户端API使用ldapConnectionTemplate访问Apache DS Ldap服务器。LDAP密码重设不尊重pwdhistory属性

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

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

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

回答

0

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

在您的意思上,“重置”的概念是管理员将其设置为已知的内容,告知用户它是什么,并且pwdReset属性设置为TRUE,以便用户被迫立即更改它在下次登录时 - 您必须通过使用PasswordPolicy请求控制并检查任何PasswordPolicyResponseCHANGE_AFTER_RESET来强制执行。

还有为什么管理员应由pwdHistory受到限制没有特别的理由,反正用户将被强制反正再次更改密码,此时他pwdHistory限制。