使用JNDI从Java在LDAP中使用ppolicy时如何获取特定错误
我在web应用程序中使用JNDI进行身份验证。在OpenLDAP方面,我使用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-无效凭据] 我发现这是一个如何做到这一点的例子;然而,这让我更加困惑,因为我无法在
InitialLdapContext ctx = new InitialLdapContext(env, null);
异常中的消息只是[LDAP:错误代码49-无效凭据]
我发现这是一个如何做到这一点的例子;然而,这让我更加困惑,因为我无法在任何地方找到诸如
PasswordExpireingResponseControl
之类的类,而且我马上就遇到了一个异常,因此我无法执行respControls=ctx.getResponseControls()
,这可能是一件非常痛苦的事情,但如果使用,它将自动将这些错误代码转换为良好的异常。不管怎样,这个库非常好,从长远来看,它可能会使您的代码更干净、更易于维护
如果你不熟悉Spring,那么可能会有一些学习曲线;但是,如果你真的想走这条路,包括如何用JNDI设置它等等。我还没有尝试过,但这可能也很有用:已经有几年没有使用java了,希望以后不用再使用它了,但我已经将它添加到书签中,以防发生这种情况
我想这正是您想要的。我也使用了SpringLDAP。与编写“原始”LDAP代码相比,这真是太棒了。您找到解决方案了吗?链接已断开。