Autenticação LDAP

4 respostas
marciofermino

Ola, amigos.

Estou desenvolvendo um sistema para o Governo

e nos requisitos do sistema me vem a seguinte linnha:

" A AUTENTICAÇÃO DOS USUÁRIOS DEVERÁ SER FEITA ATRAVÉS
SO SERVIDOR LDAP ACTIVE DIRECTORY DO WINDOWS SERVER 2003 ENTERPRISE"

Agora a pergunta oque o sistema teria a ver com isso?
Alguma sugestão dica ??

Porque na verdade não entendi bem a situação.

4 Respostas

aeciovc

é através de LDAP que os usuários podem fazer por exemplo o login no seu sistema com o mesmo usuário e senha do AD da sua rede!

rockstorm

A autenticação deste sistema que você vai desenvolver precisa fazer a autenticação de usuários no LDAP Active Directory provavelmente já existente na empresa.

marciofermino

exato ja existente na empresa

o problema que eu nao sei nem por onde comecar
e um conceito novo para mim

alguem com msn skype para trocar ideias ?}

rockstorm

Existe uma API java que faz a conexão e autenticação no LDAP. Não tem muito segredo.

Segue uma classe de exemplo para que você tire idéias de como iniciar…

import java.util.Hashtable;
import javax.naming.AuthenticationException;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;


public class Login {

    public static void main(String args []){

        String userName = "cn=nome,ou=Usuarios,ou=Empresa,ou=Emp,dc=dominio,dc=com,dc=br";
        String newPassword = "teste";

        Hashtable authEnv = new Hashtable(11);

        authEnv.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
        authEnv.put(Context.PROVIDER_URL, "ldap://hostname:389");
        authEnv.put(Context.SECURITY_AUTHENTICATION, "simple");
        authEnv.put(Context.SECURITY_PRINCIPAL, userName);
        authEnv.put(Context.SECURITY_CREDENTIALS, newPassword);

       try
        {
           DirContext authContext = new InitialDirContext(authEnv);
           System.err.println("Autenticado!");


        }
        catch (AuthenticationException authEx)
        {
        System.out.println("Erro na autenticação! ");
        authEx.printStackTrace();
        }
        catch (NamingException namEx)
        {
        System.out.println("Problemas na conexão! ");
        //namEx.getCause().printStackTrace();
        }
    }

}

o bizu ta quase pronto…hehehe

Criado 23 de abril de 2010
Ultima resposta 23 de abr. de 2010
Respostas 4
Participantes 3