Foros del Web » Programando para Internet » PHP »

Tomar usuario de windows con PHP!!!

Estas en el tema de Tomar usuario de windows con PHP!!! en el foro de PHP en Foros del Web. Buenas: Estoy haciendo una aplicación en PHP 5.2.6 corriendo en apache 2.x . A su vez todo esto corre en Windows 2003 Server . Necesito ...
  #1 (permalink)  
Antiguo 22/09/2008, 09:15
 
Fecha de Ingreso: mayo-2005
Mensajes: 21
Antigüedad: 19 años
Puntos: 0
Tomar usuario de windows con PHP!!!

Buenas:

Estoy haciendo una aplicación en PHP 5.2.6 corriendo en apache 2.x. A su vez todo esto corre en Windows 2003 Server.
Necesito tomar el usuario de Windows de la máquina que accede al sistema para su posterior uso. En mi organización trabajamos con un dominio el cual administra los usuarios mediante Active Directory.
Antes usábamos ASP y se resolvía con una línea de código. Ahora no sé cómo hacerlo. He leído un poco sobre LDAP pero no me queda claro. Si alguien sabe cómo hacerlo y puede facilitarme el código se lo agradecería.


Muchas gracias, Felipe
  #2 (permalink)  
Antiguo 22/09/2008, 09:42
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Tomar usuario de windows con PHP!!!

Que tal felipe_77, dudo que con PHP puedas hacer lo que deseas, pues como bien sabes el mismo se ejecuta del lado del servidor y nada tiene que ver con dichos datos (en tu caso el usuario que accede al SO) ni nada que tenga que ver con el cliente, sin embargo lee este post creo que te puede servir
Obtener Usuario logueado de windows


Saludos.
  #3 (permalink)  
Antiguo 22/09/2008, 10:04
 
Fecha de Ingreso: mayo-2005
Mensajes: 21
Antigüedad: 19 años
Puntos: 0
Respuesta: Tomar usuario de windows con PHP!!!

Muchas gracias Carlojas.
La verdad que es algo inseguro ya que hay que habilitar la ejecución de componentes ActiveX en Internet Explorer marcados como no seguros para que ejecute dicho código.
Leyendo por ahí encontré LDAP (Lightweight Directory Access Protocol). Pude levantar el servicio en PHP pero no sé como tomar los datos de mi Active Directory.
Si alguien sabe cómo o tiene una solución distinta le agradecería compartirla.

Muchas gracias, Felipe.
  #4 (permalink)  
Antiguo 22/09/2008, 10:20
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Información Respuesta: Tomar usuario de windows con PHP!!!

Hola Felipe,

tengo una buena noticia y otra mala.

La buena es que si puedes utilizar PHP para realizar consultas a servidores LDAP.

La mala es que tienes que documentarte un poco ya que no es tan sencillo como hacer un echo :)

Entra en la web oficial de php, pon el buscador ldap y encontrarás toda la inforamción necesaria.

Ademas de eso debes documentarte bastante sobre los servidores LDAP ya que no es moco de pavo, y si quieres realizar consultas a la base de datos de LDAP debes dominar bastantes conocimientos.

Saludos!
  #5 (permalink)  
Antiguo 22/09/2008, 10:28
 
Fecha de Ingreso: mayo-2005
Mensajes: 21
Antigüedad: 19 años
Puntos: 0
Respuesta: Tomar usuario de windows con PHP!!!

Muchas gracias Synkronice, voy a leer de php.net

Si alguien sabe algo más no dude en comentarlo...

Saludos, Felipe
  #6 (permalink)  
Antiguo 25/09/2008, 11:40
 
Fecha de Ingreso: mayo-2005
Mensajes: 21
Antigüedad: 19 años
Puntos: 0
Respuesta: Tomar usuario de windows con PHP!!!

Buenas:

Sigo sin poder obtener el usuario de windows mediante ldap.
Hasta el momento he leído toda la info que encuentro.
Pude levantar el servicio de ldap y conectarme al active directory, pero no sé como recorrerlo.

El siguiente código me devuelve:

LDAP bind realizado correctamente...
Obtenidas 0entradas.


$ldaprdn = '[email protected]';
$ldappass = 'xxxxx';
$ds = 'ldap://10.10.10.11';
$dn = 'dc=midominio,dc=com';
$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);


Si alguien me puede dar una mano se lo agradecería.
Como recorro el active directory?
  #7 (permalink)  
Antiguo 25/09/2008, 11:59
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Tomar usuario de windows con PHP!!!

Enhorabuena, me alegro que hayas conseguido llegar hasta aquí. Por lo menos ya consigues conectar! Ánimo que cada vez estas mas cerca de conseguirlo.

Siento no serte de mas ayuda, ya que nunca he utilizado hasta el momento esa base de datos.

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:09.