Resultados 1 al 8 de 8

PHP con Active DirectorY ?

  1. #1 PHP con Active DirectorY ? 
    Medio
    Fecha de ingreso
    Oct 2006
    Ubicación
    /mundo/america/CL/
    Mensajes
    87
    Descargas
    7
    Uploads
    0
    Bueno amigos, quiero hacer una consulta y espero alguien me pueda ayudar. Leo desde hace mucho el HH y aún no se si este será el mejor lugar par preguntar sobre programación Web, pero al fin y al cabo es para preguntar sobre programación xD

    Antes de consultar les doy los antecedentes que llevan a esta pregunta;

    Intento hacer una intranet dentro de una pequeña empresa (es mi primera vez dentro de un proyecto como este). Esta empresa posee dos tipos e usuarios, los que serian los usuarios comunes y corrientes, y los usuarios avanzados, por lo que dentro de la pag dinámica debería haber dos tipos de perfiles. También necesito que estos usuarios se validen antes de entrar con su user & pass, y para concluir tbn necesito que solo unos pocos se conecten desde fuera de la red.
    Todo esto se encuentra montado en un WiN 2003 ser (y ahí esta mi problema)

    La pregunta es como hacer que los usuarios que se encuentran en el active directory se validen dentro de la pag web…?.... pero alto, antes de preguntar en el foro e estado paseando por google, y e encontrado los siguientes sistemas ;

    Una opción seria replicar la base de datos de los usuarios(es decir el active directory) en otra plataforma, como lo seria en el oracle, (una opcion que encontre)

    Por otro lado seria buscar la posibilidad que existe de conectar un IIS con el AD…



    A se me olvidaba el servidor web que coloque desde un principio es un LINUX con apache y MySQL que a dado perfectos resultados en sus meses de prueba sin la intranet , pero ahora que lo quiero poner en la intranet no se como hacerlo

    No se si se podrá replicar en una base de datos MySQL…. Aun que lo dudo …..

    Bueno eso
    Hay 10 tipos de personas en el mundo, las q entienden binario y las q no ...
    Citar  
     

  2. #2  
    Moderador HH
    Fecha de ingreso
    Mar 2003
    Ubicación
    Galiza
    Mensajes
    3.919
    Descargas
    8
    Uploads
    1
    saltamonentes tu pregunta es difícil. Aun así intentare orientarte un poco.

    Por otro lado seria buscar la posibilidad que existe de conectar un IIS con el AD…
    Tengo escuchado que se puede utilizar Active Directory como si fuera una base de datos desde PHP... creo que se puede de una forma similar a hacerlo desde vb.net o vbscript en ASP... se hace a través de LDAP, pero tendrás que investigar un poco como se hace, ya que no se como se hace desde PHP.

    Una opción seria replicar la base de datos de los usuarios(es decir el active directory) en otra plataforma, como lo seria en el oracle, (una opcion que encontre)
    Es una buena opción... realmente una buena idea para no tener que crear los users de nuevo...

    Por si lo anterior no te sirve de nada una respuesta alternativa:

    Primero de nada, tienes que ejecutar PHP en IIS como un módulo ISAPI y tener instalado php5isapi.dll (lo que te comento es para PHP v5).

    Segundo, deshabilitar la autenticación de Windows en la consola de Administración de IIS.

    Lo que te voy explicar es una autenticación HTTP básica, despues tu la modificas para usarla sobre base de datos o un archivo de texto. Esto comprovaria el usuarios gondar_f y la contraseña hhserver, por cierto el navegador mantendra un user y un pass mientras no se cierre, para cambiar de user y pass tienes que cerrar el navegador y volver entrar:

    <?php
    if (isset($_SERVER["PHP_AUTH_USER"])) {
    $user=$_SERVER["PHP_AUTH_USER"];
    $pass=$_SERVER["PHP_AUTH_PW"];
    } elseif (isset($_SERVER["HTTP_AUTHORIZATION"])) {
    if (substr($_SERVER["HTTP_AUTHORIZATION"], 0, 5) == "Basic") {
    $userpass=split(":", base64_decode(substr($_SERVER["HTTP_AUTHORIZATION"], 6)));
    $user=$userpass[0];
    $pass=$userpass[1];
    }
    }
    if (!isset($user) || !isset($pass) || $user!="gondar_f" || $pass!="hhserver") {
    header("WWW-Authenticate: Basic realm=\"PHP 5 Unleashed Protected Area\"");
    header("HTTP/1.0 401 Unauthorized");
    } else {
    echo("Bien venido $user!");
    }
    ?>
    ¿Como funciona? cuando un usuario se conecta a una página protegida por el código de arriba (ese código debe ir en todas las páginas) le pedira un usuario y una contraseña. Si es la indicada (puedes tener las combinaciones que quieras en una BD, archivo de texto, archivo XML) te deja ver el resto de la página, si no no...

    Un Saludo
    He conocido muchos dioses. Quien niegue su existencia está tan ciego como el que confía en ellos con una fe desmesurada. Robert E. Howard
    La suerte ayuda a la mente preparada.
    Citar  
     

  3. #3  
    Medio
    Fecha de ingreso
    Oct 2006
    Ubicación
    /mundo/america/CL/
    Mensajes
    87
    Descargas
    7
    Uploads
    0
    Muchas gracias gondar_f, créeme que me fuiste de mucha ayuda, pues pude buscar de manera más especifica lo que necesitaba……..
    Encontré un código, con el cual me puedo conectar al AD desde PHP sin problemas utilizando LDAP, es bastante útil usarlo, pero creo q por una cosa de seguridad me gustaría aprender a replicar al AD en una base Oracle, te dejo el código que encontré , por si te lo quieres revisar, todavía no lo pongo prueba. Creo que en esta semana haré la parte beta de este asunto.

    Código:
    <?php 
         $ldaprdn = '[email protected]'; 
         $ldappass = 'contraseña'; 
         $ds = 'empresa.dominio'; 
         $dn = 'dc=empresa,dc=dominio'; 
         $puertoldap = 389; 
         $ldapconn = ldap_connect($ds,$puertoldap) 
         or die("ERROR: No se pudo conectar con el Servidor LDAP."); 
    
         if ($ldapconn) 
         { 
           ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION,3); 
           ldap_set_option($ldapconn, LDAP_OPT_REFERRALS,0); 
           $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass); 
           if ($ldapbind) 
           { 
             echo "LDAP bind realizado correctamente..."; 
    
             $filter = "(cn=*)"; 
             $fields = array("sn", "mail"); 
             $sr = ldap_search($ldapconn, $dn, $filter, $fields); 
             $info = ldap_get_entries($ldapconn, $sr); 
    
             echo("<br><br>Obtenidas ".$info["count"]."entradas. <br><br>"); 
      
             for ($i=0; $i<$info["count"]; $i++) 
             {      
               if(!empty($info[$i]["sn"][0])) echo "<br><br> Apellido: " . $info[$i]["sn"][0];      
               if (!empty($info[$i]["mail"][0])) echo "<br> mail: " . $info[$i]["mail"][0]; 
             } 
           } 
           else 
           { 
             echo "Error en LDAP bind..."; 
           } 
         } 
         ldap_close($ldapconn); 
     ?>
    Hay 10 tipos de personas en el mundo, las q entienden binario y las q no ...
    Citar  
     

  4. #4  
    Moderador HH
    Fecha de ingreso
    Mar 2003
    Ubicación
    Galiza
    Mensajes
    3.919
    Descargas
    8
    Uploads
    1
    Muchas gracias gondar_f, créeme que me fuiste de mucha ayuda, pues pude buscar de manera más especifica lo que necesitaba……..
    Me alegra leer tus palabras y gracias por el código que no tenia ni idea de como se hacia en PHP.

    Por cierto, si tienes tiempo, está en proyecto hacer un portal de programación complementario (tallerdeprogramacion.com) a HackHispano usando de foro este foro... y buena parte del material queremos que sea propia, ¿si tienes tiempo podría redactar un pequeño artículo esplicando el código?, no tiene que ser nada largo, simplemente explicar un poco, que creo que sería muy interesante para otras personas...

    Un Saludo
    He conocido muchos dioses. Quien niegue su existencia está tan ciego como el que confía en ellos con una fe desmesurada. Robert E. Howard
    La suerte ayuda a la mente preparada.
    Citar  
     

  5. #5  
    Medio
    Fecha de ingreso
    Oct 2006
    Ubicación
    /mundo/america/CL/
    Mensajes
    87
    Descargas
    7
    Uploads
    0
    si claro, me encantaría aportar con un grano de arena, pero pienso q no seria apropiado llegar y explicar el código mostrando lo q ase , seria mejor explicarlo como un tema ¿no?, es decir, explicar en que se basa el código, cual es la interacción q hay con el AD, y cosas por el estilo…….

    ….
    Debo recordar q no soy un sabio en esta materia, es mas estoy aprendiendo de apoco, pero si se puede ayudar y compartir ideas , yo encantado..
    Hay 10 tipos de personas en el mundo, las q entienden binario y las q no ...
    Citar  
     

  6. #6  
    Moderador HH
    Fecha de ingreso
    Mar 2003
    Ubicación
    Galiza
    Mensajes
    3.919
    Descargas
    8
    Uploads
    1
    si hicises un tema sería estupendo , no quise ponerte en un compromiso y por ello solo te comentara si podías un artículo, pero si puedes un tema sería impresionante... temas como este son los que dan calidad a una web

    Un Saludo
    He conocido muchos dioses. Quien niegue su existencia está tan ciego como el que confía en ellos con una fe desmesurada. Robert E. Howard
    La suerte ayuda a la mente preparada.
    Citar  
     

  7. #7  
    Medio
    Fecha de ingreso
    Oct 2006
    Ubicación
    /mundo/america/CL/
    Mensajes
    87
    Descargas
    7
    Uploads
    0
    OK..... Me demorare unos dias en hacelo todo ,pues tengo q hacer las pruebas correspondientes, comentar los codigos, e imbestigar algunas cosa mas para que quede todo claro.
    antes de empezar solo me queda una pregunta.....
    como lo hago, te envio el tema a ti ?, lo coloco en el foro ? , lo pongo en una pagina y te mando el link ?.......tu me dices..

    eso salu2
    Hay 10 tipos de personas en el mundo, las q entienden binario y las q no ...
    Citar  
     

  8. #8  
    Moderador HH
    Fecha de ingreso
    Mar 2003
    Ubicación
    Galiza
    Mensajes
    3.919
    Descargas
    8
    Uploads
    1
    Buenas tardes saltamontes. Primeramente comentarte que no te preocupes por el tiempo, cuando puedas que aun se tienen que decidir algunas cosillas, tanto es así que por ahora hay un voceto de posible portal a imitación del de programacion.com y haber que opina la gente se seguira un formato así u otro forma... mi intención es intentar que a lo largo del mes próximo estea on ya... pero bueno depende de algunos factores, por ejemplo que haya contenido propio (yo ya tengo perfilado un artículo de un tema tratado estas semanas en el foro y creo que puede ser interesante y tengo otro en mente, HyST tambien ya tiene perfilado de un curso avanzado de programación, con algoritmia y todo (en cristiano el curso estrella), aportes de otros miembros HackHispano... y ahora con tu aporte (que si lo presentas a tiempo lo pondre como primer artículo de portada), pues ya habría material para poner online el site...

    Por ahora ya hay un voceto sobre el que trabajar, aunque hay que reprogramarlo casi completamente ya que está demasiado calcado a programacion.com... pero creo que es un buen puento de comienzo:
    http://www.introscan.es/TallerProgramacion/Plantilla.html
    si tienes alguna idea, sujerencia, más artículos ... ya sabes estamos a la escucha...

    En cuanto al artículo en si, pues para comenzar mejor que me lo envies al correo, posteriormente podrás escribir artículos directamente en la página, modificar los echos, eliminar comentarios inapropiados de tus artículos o modificarlos... pero por ahora ya ves que no hay mucho echo por ahora

    Un Saludo
    He conocido muchos dioses. Quien niegue su existencia está tan ciego como el que confía en ellos con una fe desmesurada. Robert E. Howard
    La suerte ayuda a la mente preparada.
    Citar  
     

Temas similares

  1. Directivas de seguridad en Active Directory!!!!!
    Por estepeño en el foro WINDOWS
    Respuestas: 1
    Último mensaje: 27-04-2014, 23:29
  2. Respuestas: 0
    Último mensaje: 27-05-2008, 14:46
  3. Active Fax
    Por Teknotrik en el foro APLICACIONES
    Respuestas: 5
    Último mensaje: 21-02-2008, 13:26
  4. Active Directory????????????
    Por ChotaJr en el foro WINDOWS
    Respuestas: 1
    Último mensaje: 20-03-2007, 22:30
  5. Respuestas: 2
    Último mensaje: 19-07-2002, 23:58

Marcadores

Marcadores