我目前正在使用 OpenLDAP。在 LDAP 策略中,属性“pwdGraceAuthnLimit”值为 3。 当用户的密码过期后,用户仍有3次登录宽限期。在宽限期内,用户必须更改密码。 要更改密码,用户必须输入旧密码和新密码。
问题是当我尝试检查旧密码时。 要检查旧密码,我使用 SpringLDAP 和方法“验证类 LdapTemplate”。(https://docs.spring.io/spring-ldap/docs/current/apidocs/org/springframework/ldap/core/LdapTemplate .html).
每次调用方法authenticate时,都会在LDAP中添加一个属性“pwdGraceUseTime”用于登录。因此,登录的宽限次数减 1。 我也尝试过使用第4.2段中描述的方法(https://www.baeldung.com/spring-ldap),但结果是相同的。 我还尝试删除登录的属性“pwdGraceUseTime”,但这是不可能的,我有一个错误(无用户修改)。
您能否告诉我是否可以在不减少宽限数的情况下检查旧密码,因为如果登录仅剩一次宽限,并且我调用方法验证,则帐户将被锁定?
以这种方式检查密码基本上意味着“身份验证”。
您可以读取密码(希望是加密的)并尝试在本地检查它,但这很丑陋。
此外,当使用 UNIX 更改密码时
passwd
,正如我最近发现的那样,它需要不止一次宽限登录。
所以本质上“剩余 3 次宽限登录”并不意味着您可以再登录 3 次,然后然后更改密码;相反,它的意思是“立即更改您的密码”。