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.