java - 子错误代码 568 对于 Active Directory 的 Ldap 错误 49 意味着什么

标签 java active-directory ldap jndi gssapi

我正在编写一些使用 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

最佳答案

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

  • 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/

相关文章:

java - 这是 JAVA_OPT JVM 标志吗?

java - 具有子状态的 Spring 状态机生成器抛出错误 - "Initial state not set"

java - 使用 java.nio.Files 或 java.io 类创建 java.io.BufferedWriter

ldap - Openldap:是否可以使用 "userPassword"而不是 "2.5.4.35"作为 pwdAttribute?

java - 以编程方式连接 LDAP 并在 AEM 中验证凭据

java - 解析特定类之前的某个标签的数据

linux - 通过命令提示符加入域 : AWS

c# - Windows 窗体加事件目录

c# - LDAP 请求和响应是什么样的?

powershell - 在 AD 计算机对象上设置 ACL