LDAP: código de erro 49-80090308: LdapErr: DSID-0C0903A9, comentário: AcceptSecurityContext error, data 52e, v1db1

LDAP: código de erro 49-80090308: LdapErr: DSID-0C0903A9, comentário: AcceptSecurityContext error, data 52e, v1db1

Eu sei que o código" 52e " é quando o utilizador é válido, mas a senha é inválida. Estou usando o mesmo nome de usuário e senha em meu estúdio apache, eu fui capaz de estabelecer a conexão succesfully a LDAP.

Aqui está o meu código java.

    String userName = "*******";
    String password = "********";
    String base ="DC=PSLTESTDOMAIN,DC=LOCAL";
    String dn = "cn=" + userName + "," + base;  
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, "ldap://******");
    env.put(Context.SECURITY_AUTHENTICATION, "simple");
    env.put(Context.SECURITY_PRINCIPAL, dn);
    env.put(Context.SECURITY_CREDENTIALS, password);
    LDAPAuthenticationService ldap = new LDAPAuthenticationService();
   // LdapContext ctx;
    DirContext ctx = null;
    try {
        ctx = new InitialDirContext(env);

o meu erro está nesta linha.: ctx = new InitialDirContext(env);

Não sei exactamente o que é. causando este erro.

Author: simbabque, 2015-07-14

7 answers

Dados 52e - Devolve quando o utilizador é válido, mas a senha/credencial é inválida.

Deves precisar de algo do tipo ...
String dn = "cn=" + userName + "," + "CN=Users," + base;  
 16
Author: jwilleke, 2015-07-15 13:50:56

Para mim, a questão resolveu-se quando pus a secção principal assim:

env.put(Context.SECURITY_PRINCIPAL, userId@domainWithoutProtocolAndPortNo);
 16
Author: Vishal, 2016-11-09 15:45:08

52e 1326 ERROR_ LOGON_ FALLURE Devolve quando o utilizador é válido, mas a senha/credencial é inválida. Evitará que a maioria dos outros erros sejam exibidos como indicado.

Http://ldapwiki.com/wiki/Common%20Active%20Directory%20Bind%20Errors

 10
Author: brcaak, 2017-01-24 09:55:26

Eu tive um problema semelhante ao usar AD em CAS , ou seja, erro 52e, em meu caso a aplicação aceita o nome completo quando na forma de CN= em vez do nome de usuário real.

Por exemplo, se você tivesse um usuário cujo nome completo é Ross Butler e seu nome de usuário de login é rbutler --você normalmente colocaria algo como,cn=rbutler,ou=usuários,dc=domínio, dc=com, mas o nosso falhou sempre. Ao mudar isso para cn=Ross Butler,ou=Users,dc=domain,dc=Com it passed!!

 3
Author: Count, 2017-08-14 05:20:49

O LDAP está a tentar autenticar-se com o AD ao enviar uma transacção para outro DB do servidor. Esta autenticação falha porque o usuário mudou recentemente sua senha, embora esta transação foi gerada usando as credenciais anteriores. Esta autenticação irá continuar falhando até ... a menos que mude o estado da transacção para completar ou cancelar, caso em que o LDAP irá parar de enviar estas transacções.

 1
Author: Ebrahim, 2017-04-13 20:40:45

No meu caso, tenho de usar algo como @ para fazer o login com sucesso.

Sample_user@sample_ Domain

 1
Author: Linh Nguyen, 2018-09-24 07:50:26

Quando se usa o contexto.SECURITY_ authentication as "simple", you need to supply the userPrincipalName attribute value (user@domain_base).

 0
Author: Abouelwafa, 2018-10-09 16:19:04