当Active directory中的用户密码过期时,检查用户密码的有效性



我正在工作的场景中,用户密码已经在Active Directory中过期。我试图检查用户是否输入了有效的用户名和相应的有效但过期的密码。如果用户输入了有效的用户名和正确的过期密码,我将把他们重定向到一个可以重置密码的页面。但是,如果用户输入了错误的过期密码,则应使用标准消息UserName and or password is not correct通知用户。我在网上查了一下,他们正在讨论在将pwdLastSet设置为-1以禁用user must change password at next logon后使用validatecredentials方法。

当用户密码过期或"用户下次登录必须更改密码"时,如何检查AD用户凭据

这种方法允许我检查过期密码的有效性吗?我试过这种方法,它似乎不适合我。

是- validatecredals API给出了太多误报。

这是一种黑色艺术,但你可以检查User-Account-Control属性和ms-DS-User-Account-Control-Computed属性,它们都有"密码过期"位。

我通常使用上述方法,但有些人建议直接使用Windows API -参考Active Directory (LDAP) -检查帐户锁定/密码过期

最新更新