繁体   English   中英

Java应用程序中带有jndi的身份验证错误49 52e-无效令牌

[英]Authentication error 49 52e with jndi in a java application- invalid token

我想问一个LDAP服务器,在Java应用程序中提供的用户名和密码是否正确。

我最终将此功能与jndi一起使用(这是我用来探究返回异常消息的LDAP的测试功能):

public static String checkCredentials(String securityPrincipal,
                               String password,
                               String ldapUrl,
                               String securityAuthentication) 
{
    String userVerify = "";
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, ldapUrl);
    env.put(Context.SECURITY_AUTHENTICATION, securityAuthentication);
    env.put(Context.SECURITY_PRINCIPAL, securityPrincipal);
    env.put(Context.SECURITY_CREDENTIALS, password);

    try {
        DirContext authContext = new InitialDirContext(env);
        userVerify = testDescription + " - Success";
        authContext.close();
    } catch (AuthenticationException authEx) {
        userVerify = "AuthenticationException: " + authEx.getMessage();//"Authentication failed!";
    } catch (NamingException namEx) {
        userVerify = "NamingException: " + namEx.getMessage();//"Something went wrong!";
    } 
    return userVerify;
}

当我通过传递正确的ldapUrl调用checkCredentials (在我的情况下是ldap://192.168.48.60:389 )时,我总是得到结果(该函数返回String ):

AuthenticationException:[LDAP:错误代码49-80090308:LdapErr:DSID-0C0903A8,注释:AcceptSecurityContext错误,数据52e,v1db1]

页面说这是验证错误(49),并且“用户名有效,但密码/凭据无效”(52e)。

我为securityPrincipal尝试了所有这些方法:

约翰

约翰@我的公司

CN =约翰·康

CN = john,OU =内部用户,DC = mycompany

password和安全性secuirityAuthentication似乎被忽略。

我尝试从http://www.ldapadmin.org/安装LDAP admin,也从中得到:

LDAP错误! 无效的凭证:80090308:LdapErr:DSID-0C0903A8,注释:AcceptSecurityContext错误,数据52e,v1db1。

无效的令牌传递给该函数。

这以某种方式告诉我更多“无效令牌”。

有指针吗? 我被困住了。

在securityAuthentication中传递“ none”而不是“ simple”完成了这项工作。

至少没有例外,即使密码错误,即使UserVerifyT返回成功,如果返回了密码,我也会像过去一样通过检索用户的邮件来处理此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM