如何区分“用户必须在下次登录时更改密码”和“错误密码”用例?

时间:2013-06-25 14:20:06

标签: active-directory ldap unboundid-ldap-sdk

我使用UnboundID对Active Directory进行身份验证。 当我使用错误的密码进行身份验证并且用户配置了“用户必须在下次登录时更改密码”时,我有相同的错误代码。 “密码错误”例外:

LDAPException(resultCode=49 (invalid credentials), errorMessage='80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 52e, vece

“用户必须在下次登录时更改密码”例外:

LDAPException(resultCode=49 (invalid credentials), errorMessage='80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 773, vece

唯一的区别是异常消息中的字数据的值。 我不想依赖这条消息。 如何区分“用户下次登录时必须更改密码”和“密码错误”用例?

1 个答案:

答案 0 :(得分:2)

快速浏览一下这页:

http://ldapwiki.willeke.com/wiki/Common%20Active%20Directory%20Bind%20Errors

显示: data 52e =当用户名有效但密码/凭证无效时返回。

data 773 =在登录LDAP pwdLastSet之前必须更改条目密码:值为0表示需要管理员密码更改 - MUST_CHANGE_PASSWD

-Jim