簡體   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