¿Cómo puedo implementar el inicio de sesión único (SSO) usando Microsoft AD para una aplicación PHP interna?
Soy vagamente consciente de que en una computadora unida a un dominio se puede pedir a IE que envíe algunos encabezados adicionales que podría usar para iniciar sesión automáticamente en una aplicación. Tengo Apache corriendo en un servidor de Windows con mod_php. Me gustaría poder evitar que el usuario tenga que iniciar sesión si es necesario. He encontrado algunos enlaces hablando de módulos Kerberos y Apache.
http://www.onlamp.com/pub/a/onlamp/2003/09/11/kerberos.html?page=last https://metacpan.org/pod/Apache2::AuthenNTLM
Dado que estoy ejecutando en Windows, se ha demostrado que no es trivial instalar los módulos Perl o Apache. ¿Pero PHP no tiene acceso a los encabezados HTTP?
Encontré esto pero no hace ninguna autenticación, solo muestra que PHP puede leer los encabezados NTLM.http://siphon9.net/loune/2007/10/simple-lightweight-ntlm-in-php/
Me gustaría poder hacer que mis usuarios solo apunten a la aplicación y que se autentiquen automáticamente. ¿Alguien ha tenido alguna experiencia con esto o lo ha hecho funcionar?
ACTUALIZAR Desde que publicamos esta pregunta originalmente, hemos cambiado las configuraciones a nginx y php-fcgi que todavía se ejecutan en Windows. Apache2 y php-cgi en Windows es probablemente una de las configuraciones más lentas que puede configurar en Windows. Parece que Apache aún podría ser necesario (funciona con php-fcgi) pero preferiría una solución nginx.
Tampoco entiendo (y me encantaría que me informen) por qué los complementos del servidor HTTP son necesarios y no podemos tener una solución independiente de PHP, servidor web.