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.
[symple_toggle title=”Código PHP”] $sUsuario = “usuario”;$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);
[/symple_toggle]
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.