Criptografar senha para autenticação no AD (LDAP)  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
BrZumba
Entusiasta Java

Membro desde: 29/12/2011 11:03:25
Mensagens: 22
Offline

Boa tarde galera...

To que nem louco aqui desde ontem procurando isso e nada.

Tô desenvolvendo um programa aqui na minha empresa e preciso autenticar o usuário da aplicação junto ao AD.

Peguei um código na net e consegui autenticar de boa. Passo o login e senha do usuário e o AD me diz se estão corretos ou não (se a senha do usuário está correta).
Meu problema é o seguinte: a senha que o usuário informa é passada pro AD como texto. Usando um sniffer de rede aqui (wireshark) consegui ler o login e senha do usuário tranquilo.

Aqui vai o código do meu programa


Imagino que o problema esta na linha
environment.put(Context.SECURITY_AUTHENTICATION, "simple");
Dei uma procurada na net e mudei o segundo parâmetro para "DIGEST-MD5", porém eu recebo o erro

Não autenticado
javax.naming.AuthenticationException: [LDAP: error code 49 - Internal authentication error]
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.connect(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.<init>(Unknown Source)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(Unknown Source)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(Unknown Source)
at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(Unknown Source)
at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(Unknown Source)
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at javax.naming.directory.InitialDirContext.<init>(Unknown Source)
at Main.main(Main.java:51)

Onde a linha 51 é a linha que está
DirContext authContext = new InitialDirContext(environment);


Alguma idéia de como faço pra essa senha do usuário não passar em texto.

O que eu quero é só validar o usuário no AD.

Valeu
oyama
Virtual Machine Man

Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline

Não é possível a conexão ao servidor LDAP ser através de SSL?

http://docs.oracle.com/javase/jndi/tutorial/ldap/security/ssl.html
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team