1

我使用 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

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

4

1 回答 1

3

快速浏览此页面:

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

表明:数据 52e = 当用户名有效但密码/凭据无效时返回。

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

-吉姆

于 2013-06-26T17:15:10.613 回答