Hace un año atrás estaba diseñando un sistema de inventario para reemplazar la hoja de Excel, por algo más potente y que permitiera múltiples conexiones. Por mi experiencia decidí hacerlo en PHP con MySQL, pero necesitaba autentificar los usuarios a través de Active Directory y ahí comenzó mi búsqueda.
Google, como siempre me salvó y di con un post en un foro el cual indicaba la solución que yo estaba buscando. Conectar PHP al Active Directory para poder autentificar a los usuarios. Este post data del 2007 pero aún es posible realizar dicha conexión con los parámetros que se muestran.
Código PHP
$sClave = «contraseña»;
$sEmpresa = «empresa»;
$sDominio = «dominio»;
$dn = ‘dc=$sEmpresa,dc=$sDominio’;
$ldapconn = ldap_connect(«$sEmpresa.$sDominio»,389) 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, «$sUsuario@$sEmpresa.$sDominio», $sClave);
if ($ldapbind) {
echo «Usuario autenticado…»;
}
else {
echo «Usuario no autenticado…».ldap_error($ldapconn);;
}
}
ldap_close($ldapconn);
No hay que olvidar modificar el PHP.INI, descomentar la extensión php_ldap y copiar las DLL libeay32.dll y ssleay32.dll a la carpeta SYSTEM32 en WINDOWS.