【问题标题】:LDAP Authentication to AD error codeLDAP 身份验证到 AD 错误代码
【发布时间】:2014-04-23 03:34:10
【问题描述】:

我有一个问题,我正在尝试通过 LDAP 向 AD 进行身份验证,当我输入无效凭据时,我收到如下异常消息: LDAPException(resultCode=49 (invalid credentials), errorMessage='80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db0,这没关系,但此异常的更确切原因部分是“数据 52e”,它告诉我“凭据无效”。当凭据良好但例如异常消息中的“密码已过期”时,我将获得“数据 532”。这部分消息可以有不同的值,具体取决于异常原因(533 帐户已禁用、701 帐户已过期等)。我的问题是如何只捕获这部分异常消息。我想根据这个错误代码处理异常。例如:

switch(err_code){
case 52e:
System.out.println("invalid credentials");
break;
case "530,":
System.out.println("not permitted to logon at this time");
break;
}

但我不想使用正则表达式来匹配错误代码。有什么想法吗?

【问题讨论】:

  • 使用 LDAPException#getDiagnosticMessage() 检查诊断消息的内容

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


【解决方案1】:

这些代码可能特定于 Active Directory 实施。看看similar question的解释。

【讨论】:

    猜你喜欢
    • 2011-05-25
    • 1970-01-01
    • 2014-08-09
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多