我正在编写一些使用 SASL GSSAPI 向 Active Directory 进行身份验证的 Java 代码。大多数情况下,这段代码工作正常,但对于一位用户,我得到了响应:
javax.naming.AuthenticationException: [LDAP: error code 49 - 8
0090304: LdapErr: DSID-0C0904D1, comment: AcceptSecurityContext error, data 568,
v1772 ]
我知道 49 表示身份验证失败,相关子代码是 568,但我只知道该数据的以下含义:
- 525 - 未找到用户
- 52e - 凭据无效
- 530 - 此时不允许登录
- 532 - 密码已过期
- 533 - 帐户已停用
- 701 - 帐户已过期
- 773 - 用户必须重置密码
到目前为止,我无法从 Microsoft 找到这些错误代码的权威来源(此列表是从论坛帖子拼凑而成),并且我找不到该 568 错误的任何内容。
有人知道这是什么意思吗?
编辑:看起来这个列表的来源来自 this documentation from IBM
最佳答案
This和 this列表包含似乎与上述数字相对应的错误代码,即。
- ERROR_NO_SUCH_USER 1317 (0x525) 指定的帐户不存在。
- ERROR_LOGON_FAILURE 1326 (0x52E) 登录失败:用户名未知或密码错误。
- ERROR_INVALID_LOGON_HOURS 1328 (0x530) 登录失败:违反帐户登录时间限制。
- ERROR_PASSWORD_EXPIRED 1330 (0x532) 登录失败:指定的帐户密码已过期。
- ERROR_ACCOUNT_DISABLED 1331 (0x533) 登录失败:帐户当前已禁用。
- ERROR_ACCOUNT_EXPIRED 1793 (0x701) 用户帐户已过期。
- ERROR_PASSWORD_MUST_CHANGE 1907 (0x773) 首次登录之前必须更改用户密码。
从此列表中可以看出,该错误代码的含义是:
ERROR_TOO_MANY_CONTEXT_IDS 1384 (0x568) 在尝试登录期间,用户的安全上下文累积了过多的安全 ID。
事实证明,该帐户有 2000 个组成员身份,超出了内部 Active Directory 限制。您可能只有 1015 个左右的群组成员资格 otherwise login will fail .
有关此错误的更多信息,请访问:http://go.microsoft.com/fwlink/?LinkId=146571 .
关于java - 子错误代码 568 对于 Active Directory 的 Ldap 错误 49 意味着什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2672125/