Estou querendo desenvolver uma ferramenta de service desk e gostaria de saber como faço a importação dos usuarios Ldap/AD.
Importação dos Usuarios Ldap
F
1 Resposta
T
private final String dominio = "@dominio.com.br";
private final String host = "SERVER";
private final String searchBase = "DC=DOMINIO,DC=COM,DC=BR";
private Hashtable<String, String> envDC = new Hashtable<String, String>();
public String validarUsuario(String usuario, String senha) throws Exception{
String userName = "";
try{
envDC.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
envDC.put(Context.SECURITY_AUTHENTICATION, "simple");
envDC.put(Context.SECURITY_PRINCIPAL, usuario + dominio);
envDC.put(Context.SECURITY_CREDENTIALS, senha);
envDC.put(Context.PROVIDER_URL, "ldap://" + host);
envDC.put(Context.REFERRAL, "follow");
envDC.put("java.naming.ldap.attributes.binary","objectGUID objectSid msSFUPassword");
LdapContext ldapContext = null;
ldapContext = new InitialLdapContext(envDC, null);
SearchControls searchCtls = new SearchControls();
String[] returnedAtts = { "givenName", "objectGUID", "displayName",
"distinguishedName", "userPrincipalName", "samAccountName",
"objectClass", "sn", "unicodePwd", "userPassword",
"msSFUPassword" };
searchCtls.setReturningAttributes(returnedAtts);
searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
String searchFilter = "sAMAccountName=" + usuario;
NamingEnumeration answer = ldapContext.search(searchBase, searchFilter,searchCtls);
if (answer.hasMoreElements()) {
SearchResult sr = (SearchResult) answer.next();
Attributes attrs = sr.getAttributes();
if (attrs.get("displayName") != null) {
userName = (String) attrs.get("displayName").get();
} else if (attrs.get("givenName") != null) {
userName = (String) attrs.get("givenName").get();
}
}
} catch (AuthenticationException erro) {
throw new Exception("Usuário inválido ou senha incorreta");
} catch (Exception erro){
throw erro;
}
return userName;
}
Só adpatar seus parâmetros.
Criado 21 de novembro de 2008
Ultima resposta 21 de nov. de 2008
Respostas 1
Participantes 2
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo