Comment single sign-on (SSO) travailler avec PHP + Apache à l'encontre d'un Active Directory pour l'authentification transparente?
J'ai besoin d'obtenir plus de compréhension sur l'authentification unique sur une application web sur un annuaire Active Directory.
Pour simplement demander à l'utilisateur le login pour s'authentifier sur AD, je sais que je peux utiliser certaines bibliothèques, comme Zend_Ldap
, adLdap
et ainsi de suite. Mais dans ce cas, l'utilisateur a toujours besoin de tapez le login deux fois.
Par exemple: S'authentifier auprès d'Active Directory/ISA à partir de php
Autant que je sache, à utiliser SSO
pour transparent login
, j'ai besoin de mettre en œuvre un supplément de module apache.
Par exemple:
Comment puis-je mettre en œuvre l'authentification unique (SSO) à l'aide de Microsoft AD interne de PHP app?
S'authentifier auprès de ldap à l'aide de PHP, active directory, tout en utilisant IE/Firefox
J'ai d'abord besoin de savoir quel module apache-je besoin pour utiliser et pourquoi.
Dans cet article par exemple, il y a trois: mod_ntlm
, mod_auth_kerb
et Apache2:AuthenNTLM
.
Et le thosed était Apache2:AuthenNTLM
Dans le question décrit ci-dessus, la réponse a été acceptée pour mod_auth_sspi
.
Lorsque l'on parle de Active Directory J'ai eu cette réponse, qui décrit active directory comme une mise en œuvre de ldap
+ kerberos
+ "d'autres pièces et de morceaux".
Je suis très confus au sujet de tous ces noms, depuis que je l'ai je n'ai jamais travaillé avec elle.
Quelqu'un peut-il préciser à moi? (ldap
, kerberos
, ntlm
, sspi
etc)
Enfin, quelqu'un peut-il m'indiquer comment l'application de reconnaître l'utilisateur authentifié (AD). Est-ce juste par le nom d'utilisateur fournis avec somethink comme $_SERVER['REMOTE_USER']
? Tout mot de passe est envoyé? Comment fonctionne le navigateur envoyer cette des en-têtes supplémentaires? Est-il d'une configuration locale qui doivent être fait dans chaque poste de travail?
OriginalL'auteur Keyne | 2010-11-23
Vous devez vous connecter pour publier un commentaire.
L'authentification est un mélange confus. Voici quelques informations générales.
LDAP: LDAP est un protocole de communication de l'utilisateur des informations d'annuaire. Il peut également gérer l'authentification, mais il n'est pas transparente (SSO).
NTLM: NTLM est Microsoft SSO construit dans IE, ActiveDirectory et IIS. La version originale de NTLM est très précaire, de sorte NTLMv2 a été mis en œuvre pour résoudre les problèmes de sécurité dans NTLM. L'original NTLM est désactivé par défaut dans Windows Vista et les versions ultérieures.
Kerberos: Kerberos est un standard ouvert, qui est très sûr et est conçu pour offrir transparente (SSO) d'Authentification. ActiveDirectory prend en charge une version de Kerberos.
Autant que les modules d'Apache qui peut être utilisé pour mettre en œuvre ces protocoles, vous avez inclus une très bonne liste d'entre eux.
mod_ntlm: C'est un module Apache qui fonctionne sur Linux et prend en charge l'original NTLM (pas NTLMv2).
mod_auth_kerb: C'est un module Apache qui implémente Kerberos.
mod_auth_sspi: C'est un module Apache pour Windows qui prend en charge l'original NTLM (pas NTLMv2).
Apache2:AuthenNTLM: C'est un module Perl qui gère l'authentification NTLM. Je ne sais pas si elle prend en charge l'authentification NTLM et NTLMv2.
mod_auth_ntlm_winbind: C'est un module Apache qui s'interface avec Samba d'authentification.
OriginalL'auteur kswan
Single-Sign-on et de l'Authentification sont liés, mais différents, des concepts. Je pense que vous pouvez être source de confusion. Si vous voulez un vrai SSO, regarder dans CAS.
LDAP et AD sont des protocoles pour le stockage des utilisateurs et de l'organisation des données. Ils ne sont pas utiles pour faire de l'authentification réel sur le web, mais vous pouvez l'utiliser derrière un SSO (comme le CAS), comme la "base de données".
CAS
. Je voudrais savoir la relation avec les méthodes fournies dans la question.OriginalL'auteur troelskn