NTLM Winbind
J'utilise le module auth_ntlm_winbind_module
(mod_auth_ntlm_winbind.so
) sur notre serveur. Vous devez avoir Samba et WinBind installés, correctement configurés et en cours d'exécution.
Vous pouvez télécharger le module de l'arborescence du projet Samba:
git clone git://git.samba.org/jerry/mod_auth_ntlm_winbind.git
Pour authentifier les utilisateurs via NTLM, vous devez ajouter les directives suivantes à vos paramètres du répertoire:
<Directory /srv/http>
Allow from all
AuthName "NTLM Authentication thingy"
NTLMAuth on
NTLMAuthHelper "/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp"
NTLMBasicAuthoritative on
AuthType NTLM
require valid-user
AllowOverride all
</Directory>
Bien sûr Vous devez également charger le module:
LoadModule auth_ntlm_winbind_module /usr/lib/httpd/modules/mod_auth_ntlm_winbind.so
Le compte d'utilisateur Windows est transmis à l'application comme REMOTE_USER:
#!/usr/bin/perl
use CGI;
my $query = new CGI;
# get the windows account from the header
my $windows_account = $query->remote_user();
Notez que IE envoie uniquement les données d'authentification des utilisateurs vers des sites de confiance.
Here's a website avec un peu plus d'informations sur le module.
authentification directe via LDAP
Une autre méthode consiste à utiliser le module authnz_ldap_module
(mod_authnz_ldap.so
). Ceci est probablement déjà chargé par défaut. Notez que ce n'est pas true Connexion unique lorsque l'utilisateur est invité à entrer un mot de passe.
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
Ajoutez ceci à la définition de votre répertoire:
<Directory /srv/http>
AuthName "Authentication required"
AuthType Basic
AuthzLDAPAuthoritative off
AuthBasicProvider ldap
# "protocol://hostname:port/base?attribute?scope?filter" NONE
# NONE indicates that an unsecure connection should be used for LDAP, i.e. port 389
AuthLDAPURL "ldap://your.ldap.server.net:389/OU=the,OU=search,OU=node,DC=domain,DC=net?sAMAccountName?sub?(objectClass=*)" NONE
# This is only needed if your LDAP server doesn't allow anonymous binds
AuthLDAPBindDN "CN=AD Bind User,OU=the,OU=bind,OU=node,DC=domain,DC=net"
AuthLDAPBindPassword super-secret
Require valid-user
AllowOverride all
</Directory>
More info about the module.
Afin de donner une réponse appropriée, vous pouvez inclure quelques détails sur ce que vous voulez faire avec le USER_ID? – rasjani
Comment cela aiderait-il? – Louis