¿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.

Respuestas a la pregunta(5)

Su respuesta a la pregunta