Como posso implementar o logon único (SSO) usando o Microsoft AD para um aplicativo interno do PHP?

Estou vagamente ciente de que em um computador associado a um domínio IE pode ser solicitado para enviar alguns cabeçalhos extras que eu poderia usar para entrar automaticamente em um aplicativo. Eu tenho o apache rodando em um servidor windows com mod_php. Gostaria de evitar que o usuário faça o login, se necessário. Eu encontrei alguns links falando sobre os módulos Kerberos e Apache.

http://www.onlamp.com/pub/a/onlamp/2003/09/11/kerberos.html?page=last https://metacpan.org/pod/Apache2::AuthenNTLM

Desde que eu estou executando no Windows é provado não ser trivial para obter módulos Perl ou Apache instalados. Mas o PHP não tem acesso aos cabeçalhos HTTP?

Eu encontrei isso, mas ele não faz nenhuma autenticação, apenas mostra que o PHP pode ler os cabeçalhos NTLM.http://siphon9.net/loune/2007/10/simple-lightweight-ntlm-in-php/

Gostaria de poder fazer com que meus usuários apontem para o aplicativo e autenticá-los automaticamente. Alguém já teve alguma experiência com isso ou conseguiu que funcionasse?

ATUALIZAR Desde que postamos essa pergunta originalmente, mudamos as configurações para o nginx e o php-fcgi ainda em execução no Windows. Apache2 e php-cgi no Windows é provavelmente uma das configurações mais lentas que você pode configurar no Windows. Parece que o Apache ainda pode ser necessário (funciona com o php-fcgi), mas eu preferiria uma solução nginx.

Eu também ainda não entendo (e gostaria de ser educado) porque os plugins de servidor HTTP são necessários e não podemos ter uma solução PHP, agnóstica de servidor web.

questionAnswers(5)

yourAnswerToTheQuestion