Vitor's profileWelcome To My SpacePhotosBlogNetwork Tools Help

Welcome To My Space

Vitor Samuel

Occupation
Location
Interests
Desenvolvedor WEB tanto na na plataforma .NET e na J2EE, Conhecimento dos Frameworks Spring,Hibernate e JSF.
Atualmente Possuo o Título de MCPD.
June 19

MCP

É cara...é Só estudar, um pouco de dedicação e trabalho duro ta ae o resultado. Rumo ao MCTS agora!!!
 
mcp-logo2_rvza
February 25

Ldap Java

 

Aew galera, para quem tem duvida com o protocolo LDAP ta ae uma forcinha.

 

package ldap;

 

import oracle.jdbc.driver.OracleConnection;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.util.Hashtable;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.naming.*;

import javax.naming.directory.*;

import javax.naming.ldap.*;

import sun.jdbc.odbc.JdbcOdbcConnection;

/**

*

* @author Vitor Samuel

*/

public class Main {

 

public static void main(String[] args) throws ClassNotFoundException {

 

 

Hashtable ldapEnv = new Hashtable();

 

String host="host";

String domain="dominio";

String port="porta";

String urlDC="ldap://"+host+"."+domain+":"+port+"/";

//

// Build doman component list so that we can

// submit queries in the form:

 

String dcList="";

try {

dcList="DC="+domain.replaceAll("\\.",",DC=");

} catch (Exception ex) {

System.err.println("Error in regular expression kit: " + ex.getMessage());

return;

}

 

String userName=usuario+domain;

String userPassword = senha;

ldapEnv.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");

ldapEnv.put(Context.SECURITY_AUTHENTICATION,"simple");

ldapEnv.put(Context.SECURITY_PRINCIPAL,userName);

ldapEnv.put(Context.SECURITY_CREDENTIALS,userPassword);

ldapEnv.put(Context.PROVIDER_URL, urlDC);

String searchBase;

String searchFilter;

searchBase= "ou=Users - Marcosa,"+dcList;

searchFilter = "(&(objectClass=person))";

String objAttribs[]={"sAMAccountName"};

try {

LdapContext ctx = new InitialLdapContext(ldapEnv,null);

SearchControls srchInfo = new SearchControls();

srchInfo.setSearchScope(SearchControls.SUBTREE_SCOPE);

srchInfo.setReturningAttributes(objAttribs);

int nodirObjects = 0;

NamingEnumeration dirObjects = ctx.search(searchBase, searchFilter, srchInfo);

Connection cn = null;

//Conexao

String driver = "oracle.jdbc.driver.OracleDriver";

Class.forName(driver);

String serverName = "server";

String portNumber = "1521";

String sid = "xe";

String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid;

String username = "mme";

String password = "marcosa";

while (dirObjects != null && dirObjects.hasMoreElements()) {

SearchResult dirObject = (SearchResult)dirObjects.next();

for (int i=0; i<objAttribs.length; i++) {

 

cn = DriverManager.getConnection(url, username, password);

dirObject.getAttributes().get(objAttribs[i]);

java.sql.Statement st = cn.createStatement();

st.executeQuery("INSERT INTO GUSUARIO(ID,NOME) VALUES('"+1+"',substr('"+dirObject.getAttributes().get(objAttribs[i])+"',17))");

 

cn.close();

nodirObjects++;

 

}

ctx.close();

System.out.println("Número de registros encontrados: " + nodirObjects);

}

}

catch (SQLException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

} catch (NamingException ex) {

System.err.println("Erro durante a consulta: " + ex.getMessage());

}

} // End main

} // End class

February 23

Iniciando

Bem vindos! Ainda não sei o que escrever, to adicionando a galera.
 
There are no photo albums.