Autenticação LDAP

2 respostas
denirroberto

I ai pessoal, tudo blz. Precisava de um modelo de classe que permite autenticação no sistema usando LDAP.
1 - O Usuário informa nomeUsuario e senhaUsuario;
2 - Clica em ACESSAR o sistema acessa via LDAP retornando um tokem pra saber se ele tem ou não direito de acesso.

Alguém pode ajudar? Obrigado.

2 Respostas

amaica

Da uma tentiada aí nessa classe:

import java.util.Hashtable;

import javax.naming.Context;

import javax.naming.NamingException;

import javax.naming.ldap.InitialLdapContext;

import javax.naming.ldap.LdapContext;

public class LDAP {

private LdapContext ctx;
private final String URL_LDAP = “ldap://192.168.0.5:389”; //teu server LDAP

/**

  • Efetua o login do usuário
  • Se login inválido, lança uma exceção do tipo AuthenticationException
    */
    public boolean login(String dn, String password) throws NamingException {
    Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, com.sun.jndi.ldap.LdapCtxFactory);

env.put(Context.PROVIDER_URL, URL_LDAP);

env.put(Context.SECURITY_AUTHENTICATION,simple);

env.put(Context.SECURITY_PRINCIPAL, dn);

env.put(Context.SECURITY_CREDENTIALS, password);
// Tenta criar o contexto com os dados de login

try {

ctx = new InitialLdapContext(env,null);

return true;
} catch (javax.naming.AuthenticationException e) {

// Login inválido

return false;

}

}

public static void main(String[] args) {

LDAP l = new LDAP();

try {

if (l.login(amaica@IFRS,""))//TEU USUARIO @TEUDOMINIO

{

System.out.println("Login válido ");

} else {

System.out.println(Login inválido);

}
} catch (NamingException n) {

n.printStackTrace();

}

}

}
furutani

Dá uma olhada aqui
http://www.furutani.com.br/2008/09/autenticacao-e-obtencao-de-dados-via-ldap/

Criado 22 de setembro de 2011
Ultima resposta 22 de set. de 2011
Respostas 2
Participantes 3