| Vitor's profileWelcome To My SpacePhotosBlogNetwork | Help |
|
|
June 19 MCPFebruary 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 |
|
|