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.