Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javax.security.auth.login异常_Java_Authentication_Ldap - Fatal编程技术网

javax.security.auth.login异常

javax.security.auth.login异常,java,authentication,ldap,Java,Authentication,Ldap,代码正在尝试对LDAP服务器进行身份验证。当用户的密码或帐户过期时,它必须抛出一个错误 当我尝试使用过期密码/帐户登录时,会引发FailedLoginException: FailedLoginException! Password Incorrect/Password Required. 如文档所述,它应该抛出AccountExpiredException或CredentialExpiredException 如何查找密码或帐户是否已过期 下面是我的代码(简化) 目录服务器可能会在绑定响应中

代码正在尝试对LDAP服务器进行身份验证。当用户的密码或帐户过期时,它必须抛出一个错误

当我尝试使用过期密码/帐户登录时,会引发
FailedLoginException

FailedLoginException! Password Incorrect/Password Required.
如文档所述,它应该抛出
AccountExpiredException
CredentialExpiredException

如何查找密码或帐户是否已过期

下面是我的代码(简化)


目录服务器可能会在绑定响应中返回密码过期或密码过期响应控件。LDAP客户端应始终检查LDAP响应中的响应控件,不支持控件操作的API不应用于非平凡代码。另见“”

            //Create login context
            LoginContext lc = null;
            try {
                lc = new LoginContext("applicationPolicyName", new UsernamePasswordHandler(username, password));
            } catch(LoginException le) {
                log.info("LoginContext cannot be created. "+ le.getMessage());
            } catch(SecurityException se) {
                log.info("LoginContext cannot be created. "+ se.getMessage());
            }               
            try {
                lc.login();
            } catch (AccountExpiredException e) {
                log.info("AccountExpiredException!. "+ e.getMessage());
            } catch (CredentialExpiredException e) {
                log.info("CredentialExpiredException!. "+ e.getMessage());
            } catch (FailedLoginException e) {
                log.info("FailedLoginException!. "+ e.getMessage());
            } catch(LoginException le) {
                log.info("Authentication failed. " + le.getMessage());
            }