Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.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
使用JNDI从Java在LDAP中使用ppolicy时如何获取特定错误_Java_Authentication_Ldap_Jndi_Openldap - Fatal编程技术网

使用JNDI从Java在LDAP中使用ppolicy时如何获取特定错误

使用JNDI从Java在LDAP中使用ppolicy时如何获取特定错误,java,authentication,ldap,jndi,openldap,Java,Authentication,Ldap,Jndi,Openldap,我在web应用程序中使用JNDI进行身份验证。在OpenLDAP方面,我使用ppolicy(例如)在三次登录尝试失败后阻止用户的帐户 我的问题是,我需要特定的错误消息(例如“帐户锁定”),以让用户知道具体的问题是什么,但现在我只是在执行时遇到一个异常: InitialLdapContext ctx = new InitialLdapContext(env, null); 异常中的消息只是[LDAP:错误代码49-无效凭据] 我发现这是一个如何做到这一点的例子;然而,这让我更加困惑,因为我无法在

我在web应用程序中使用JNDI进行身份验证。在OpenLDAP方面,我使用ppolicy(例如)在三次登录尝试失败后阻止用户的帐户

我的问题是,我需要特定的错误消息(例如“帐户锁定”),以让用户知道具体的问题是什么,但现在我只是在执行时遇到一个异常:

InitialLdapContext ctx = new InitialLdapContext(env, null);
异常中的消息只是
[LDAP:错误代码49-无效凭据]


我发现这是一个如何做到这一点的例子;然而,这让我更加困惑,因为我无法在任何地方找到诸如
PasswordExpireingResponseControl
之类的类,而且我马上就遇到了一个异常,因此我无法执行
respControls=ctx.getResponseControls()

,这可能是一件非常痛苦的事情,但如果使用,它将自动将这些错误代码转换为良好的异常。不管怎样,这个库非常好,从长远来看,它可能会使您的代码更干净、更易于维护


如果你不熟悉Spring,那么可能会有一些学习曲线;但是,如果你真的想走这条路,包括如何用JNDI设置它等等。

我还没有尝试过,但这可能也很有用:

已经有几年没有使用java了,希望以后不用再使用它了,但我已经将它添加到书签中,以防发生这种情况


我想这正是您想要的。

我也使用了SpringLDAP。与编写“原始”LDAP代码相比,这真是太棒了。您找到解决方案了吗?链接已断开。