Vitor's profileWelcome To My SpacePhotosBlogNetwork Tools Help

Blog


    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.