1

我正在编写一些使用 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 错误的任何内容。

有谁知道这意味着什么?

编辑:看起来这个列表的来源来自 IBM 的这个文档

4

1 回答 1

5

这个这个列表包含似乎与上述数字相对应的错误代码,即。

  • 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 个左右的组成员身份,否则登录将失败

有关此错误的详细信息,请访问:http: //go.microsoft.com/fwlink/ ?LinkId=146571 。

于 2010-04-20T02:28:21.973 回答