Como o logon único (SSO) funciona com o PHP + Apache em um Active Directory para autenticação transparente?
Preciso entender melhor o SSO em um aplicativo Web no Active Directory.
Para simplesmente pedir ao usuário o login para autenticar no AD, eu sei que posso usar algumas bibliotecas comoZend_Ldap
, adLdap
e assim por diante. Mas, nesse caso, o usuário ainda precisará digitar o login duas vezes. Por exemplo:Autenticar no Active Directory / ISA do php
Afaik, para usarSSO
paratransparent login
, Preciso implementar um módulo apache extra. Por exemplo:Como posso implementar o logon único (SSO) usando o Microsoft AD para um aplicativo PHP interno?
Autentique no ldap usando PHP, diretório ativo, enquanto estiver usando o IE / Firefox
Primeiro, preciso saber qual módulo do apache eu preciso usar e por quê. NoEste artigo por exemplo, existem três:mod_ntlm
, mod_auth_kerb
eApache2:AuthenNTLM
. E o thosed foiApache2:AuthenNTLM
NoPergunta, questão descrito acima, a resposta aceita foi paramod_auth_sspi
.
Ao falar sobre o Active DirectoryEu tenho essa resposta, que descreve o diretório ativo como uma implementação deldap
+ kerberos
+ "alguns outros pedaços e partes diversas".
Estou muito confuso com todos esses nomes, pois nunca trabalhei com ele. Alguém pode esclarecer isso para mim? (ldap
, kerberos
, ntlm
, sspi
etc)
Finalmente, alguém pode me indicar como o aplicativo reconhece o usuário autenticado (do AD). É apenas pelo nome de usuário passado com algo como$_SERVER['REMOTE_USER']
? Alguma senha é enviada? Como o navegador envia esses cabeçalhos extras? Existe alguma configuração local que precise ser feita em cada estação de trabalho?