Comunidad de diseño web y desarrollo en internet online

Conectando con LDAP

Citar            
MensajeEscrito el 21 Feb 2007 10:25 am
Explico: Llevo varios dias intentando integrar Joomla con la LDAP de mi server Windows 2003 (si, lo se, apesta... pero es lo que hay ¬¬ ) pero no consigo conectar por este error:

Código :

Fatal error: Call to undefined function ldap_connect() in C:\Archivos de programa\xampp\htdocs\pruebas\index.php on line 8

El codigo es este:

Código :

<?php

// variables LDAP
$servidor_ldap = "my_server.my_domain.local";  // el servidor LDAP al que se quiere conectar
$puerto_ldap   = 389;                 // el puerto al que se conectara

// Estableciendo la conexion con el servidor LDAP
$conexion_ldap = ldap_connect($servidor_ldap, $puerto_ldap) 
          or die("No ha sido posible conectarse al servidor $servidor_ldap");

 
?>

Como servidor apache uso el paquete de XAMPP para Windows Version 1.5.5

No se si me falta alguna libreria pero hay poca información sobre ldap_connect o yo no he sido capaz de encontrarla.

¿Alguna idea o pista?

Por Mania

Claber

1716 de clabLevel

3 tutoriales
2 articulos

 

Astrub

msie
Citar            
MensajeEscrito el 28 Sep 2007 02:39 pm
:? Debes de revisar que las extensiones de php esten activas, busca el php_ldap, en mi caso tengo el 20060613. Luego buscas de hacer una conexion directa con el ldap, te recomiendo que aprendas a usar tus propios recursos de programacion y no abuses :twisted: de los manejadores de contenido.
Avisame cuando establezcas conexion y luego te digo como haces las busquedas...

Por arosales

2 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 30 Sep 2007 12:26 am
:lol:

Este problema lo resolvi hace tiempo. Incluso he cambiado de versión de Xampp y de Joomla!

En realidad el tema es mas complicado que modificar el php.ini, tambien se han de copiar 2 librerias (no recuerdo exactamente cuales) en c:/windows/system32

Mea culpa por no postear la solución. :oops:

Por Mania

Claber

1716 de clabLevel

3 tutoriales
2 articulos

 

Astrub

msie7
Citar            
MensajeEscrito el 30 Sep 2007 12:29 am
Las librerias son libeay32.dll y ssleay32.dll que suelen estar en la carpeta del directorio PHP/win32

Por Mania

Claber

1716 de clabLevel

3 tutoriales
2 articulos

 

Astrub

msie7
Citar            
MensajeEscrito el 30 Sep 2007 08:35 pm
:D que bien que lograstes conseguir la solucion, voy a buscar lo que me recomiendas, pero de verdad quisiera saber como detecto el usuario conectado? porque variables pregunto? yo se como hacer busqueda por ende se que tengo conexion con el LDAP.

Cualquier tipo de ayuda que me puedas dar te lo agradeceria... :oops:

Por arosales

2 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 01 Oct 2007 05:06 pm
Mirate esto y fijate en el ejemplo.

Por Mania

Claber

1716 de clabLevel

3 tutoriales
2 articulos

 

Astrub

msie7
Citar            
MensajeEscrito el 01 Oct 2007 05:57 pm
:o Comienzo:
1.- Ya realizo conexion con exito con el LDAP
1.1.- Uso ldap_connect.
1.2.- Para hacer una busqueda se que tengo que tener:
1.2.1.- ldap_bind donde: $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
1.2.2.- ldap_search para la busqueda así $sr = ldap_search($ldapconn, $dn, $filter, $fields);
1.3.- El problema del 1.2.- Es que debo de conocer el $ldaprdn y $ldappass, si lo hago con mi usuario que es valido en el LDAP o active directory, tengo exito.

PREGUNTA: ¿Si, abro el browser de IE o Mozilla y escribo por ejemplo http://MiAplicacion/index.php como detecto en mi archivo index.php el usuario que esta en ese momento operando la maquina, si no existe un formulario para solicitar el login y password?

PREMISA: Sabemos que tiene un login y un password porque esta operando un equipo que pertenece una red privada y para tener acceso tuvo que logearse al sistema operativo, de esta forma tiene acceso a los servicios del equipo, privilegios de la red y posiblemente a mi aplicacion si detecto que usuario es.

INVESTIGACION: si usamos los dll que recomiendas, presumo una conexion con openssl, el trabajo que llevo me indica que tengo que usar certificados, cuya area no domino y considero que la solucion esta mas cerca que nunca.

Espero ahora si poder dar a entender mi inquietud y que alguien me de una solucion.
Por lo menos espero que me digas si voy por buen camino.

Gracias!!! ^^

Por arosales

2 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 03 Oct 2007 08:52 am
Vale, despues de reeler tu pregunta entre 23 y 84 veces (lo de dormir 3 horas diarias dejan espeso a cualquiera :sueno: ), creo que por fin he entendido la pregunta.

Tu lo que quieres es validar en la LDAP sin formulario. Es decir, que PHP detecte el usuario y lo valide.
Si es esto, yo no se como hacerlo y dudo que se pueda. Ten en cuenta que PHP se ejecuta en el servidor y no en la maquina cliente por lo que lo unico que recibe el navegador es un fichero html generado por la pagina php en el servidor.
En caso de que esta no fuera tu pregunta me la leeré de nuevo entre 85 y 163 veces.

Ademas, que no sean tan vagos tus usuarios. ¡No les cuesta nada poner su clave!

Por Mania

Claber

1716 de clabLevel

3 tutoriales
2 articulos

 

Astrub

msie7
Citar            
MensajeEscrito el 03 Oct 2007 12:59 pm
:? bueno creo que gracias por responder.

1.- Yo necesito conectarme al LDAP para conocer el usuario que esta autenticado en un equipo, en una reunion nos dimos cuenta que no necesariamente hay que conectarse al LDAP, si preguntamos por el username del sistema como lo hacemos en una consola de windows escribiendo %username% sabemos que usuario es, luego buscamos en la BD ese username y le damos acceso dependiendo del privilegio que tenga.

2.- Ahora tengo dos posibles soluciones para mi problema inicial:
2.1.- Buscar el username por el LDAP
2.2.- Buscar como consigo el username de windows desde php

Ambas soluciones suena factible, en el caso 2.2. consegui una solucion pero no me funciono en los clientes, solo me funciona para el servidor, ahora nose si existe algo de php que me permita identificar el username de una pc.

Por ultimo, si los usuarios se extralimitaron al exigir eso, pero siempre hay que buscar de endulsarlos y contentarlos...

Por arosales

2 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 03 Oct 2007 02:04 pm

arosales escribió:


2.2.- Buscar como consigo el username de windows desde php

[...] en el caso 2.2. consegui una solucion pero no me funciono en los clientes, solo me funciona para el servidor, ahora nose si existe algo de php que me permita identificar el username de una pc.


He aqui lo que te decia. Si ejecutas en php un comando que te encuentre el %username% este se ejecutará en el servidor donde esté alojado el servicio. Y como el comando te dará "Administrator" (o administrador) solo te será valido si lo ejecutas desde el navegador del propio servidor.

He estado buscando y no he encontrado nada, pero como ya te dije antes dudo que se pueda por la propia forma de funcionar del php.

arosales escribió:

Por ultimo, si los usuarios se extralimitaron al exigir eso, pero siempre hay que buscar de endulsarlos y contentarlos
Pues diles dulcemente que no sean tan vagos. Ademas, eso seria una brecha de seguridad bastante gorda. Imaginate que alguien se deja la maquina encendida! sin necesidad de contraseñas algún compañero cruel, malvado, despota, malintencionado, ponzoñoso y consentido podria usar esa sesion para hacer o mirar lo que no debe.

PD: en el ultimo supuesto el compañero cruel, malvado, despota, malintencionado, ponzoñoso y consentido seria yo.

Por Mania

Claber

1716 de clabLevel

3 tutoriales
2 articulos

 

Astrub

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.