64 votos

La autenticación en PHP usando LDAP a través de Active Directory

Estoy buscando una manera de autenticar a los usuarios a través de LDAP con PHP (con Active Directory ser el proveedor). Idealmente, debe ser capaz de ejecutar en IIS 7 (adLDAP hace en Apache). Nadie había hecho nada parecido, con éxito?

  • Edit: yo preferiría una biblioteca/clase con el código que está listo para ir... sería tonto a inventar la rueda cuando alguien ya lo ha hecho.

110voto

ceejayoz Puntos 85962

Importar una biblioteca entera parece ineficiente cuando todo lo que necesita es esencialmente de dos líneas de código...

$ldap = ldap_connect("ldap.example.com");
if ($bind = ldap_bind($ldap, $_POST['username'], $_POST['password'])) {
  // log them in!
} else {
  // error message
}

6voto

Scott Reynen Puntos 2964

Puedo hacer esto simplemente por el paso de las credenciales de usuario para ldap_bind().

http://php.net/manual/en/function.ldap-bind.php

Si la cuenta se puede unir a LDAP, es válida; si no, no lo es. Si todo lo que estamos haciendo es la autenticación (no administración de cuentas), no veo la necesidad de una biblioteca.

4voto

CMS Puntos 315406

Me gusta la Zend_Ldap Clase, sólo puede usar esta clase en el proyecto, sin el Zend Framework.

3voto

Darryl Hein Puntos 33819

PHP dispone de las librerías: http://ca.php.net/ldap

PEAR también tiene un número de paquetes: http://pear.php.net/search.php?q=ldap&in=packages&x=0&y=0

No lo he utilizado, pero me iba a en un punto y que parecía que debe trabajar.

2voto

Joe Meyer Puntos 839

Para aquellos que buscan un completo ejemplo, echa un vistazo http://www.exchangecore.com/blog/how-use-ldap-active-directory-authentication-php/.

He probado esto de conectar a Windows Server 2003 y Windows Server 2008 R2 controladores de dominio de Windows Server 2003 de Servidor Web (IIS 6) y de un windows server 2012 enterprise ejecutando IIS 8.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X