LDAP验证到AD错误代码

时间:2013-09-10 10:19:17

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

我有一个问题,我试图通过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;
}

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

1 个答案:

答案 0 :(得分:0)

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