Ah ouais quand même
!
Bon bah c'était ça qu'il fallait nous dire d'abord.
Bon donc le module quand tu l'appelles en ligne de commande par exemple avec les options qui vont bien vers un serveur compatible LDAP il te renvoie la main en attente d'une séquence :
login[_]password[ENTREE]
Où (_] est un espace et [ENTREE] bah faut taper entrée quoi....
Là si ça passe tu obtiens OK sinon ERR.
De la même manière quand il est utilisé par squid, la commande est lancée sur la base de ce que l'utilisateur a tapé dans sa petite fenètre et si la commande rend OK tu rentres si c'est ERR tu rentres pô.
Après dessous comment ça marche le module lui-même ? C'est basé sur une requète LDAP genre ldapsearch avec les options que tu donnes. Ces options pour les plus utiles sont :
-b <DN> : A partir de où tu cherches dans ton arbre
-u <champ> : Quel champ tu compares avec ce que le user a tapé dans sa fenêtre pour trouver le DN complet
-f <filtre> : Le filtre qui permet à la fonction de récupérer le DN entier (%s) du login rentré par l'utilisateur dans sa fenêtre en correspondance avec le champ choisi en -u (par défaut c'est le "uid" qui n'existe pas toujours dans l'annuaire considéré). Une fois le DN récupéré le test de mot de passe peut être effectué d'où l'intérêt de le connaître.
-D <DN> : le user de l'annuaire autorisé à parcourir l'annuaire pour chercher le user qui s'authentifie. Pas toujours obligé par défaut le module essaie en "anonymous" je crois. Mais du coup ce qu'il voit est plus réduit donc ça peut merdouiller.
-w <PASS> : Le password du user autorisé à parcourir
-h <HOST> : le nom ou l'IP du serveur LDAP
Voilà.
Sinon normalement ton AD devrait être compatible LDAP dnc tu n'as pas besoin d'installer un autre serveur LDAP.
A ce stade il faut que ta commande squid_ldap_auth fonctionne comme il faut en ligne de commande et que tu obtiennes OK et ERR quand il faut. Si ça n'est pas le cas pas la peine de passer à la suite encore.
Pour l'utilisation du module squid_ldap_auth dans squid voici ce qu'il est nécessaire (et sauf erreur suffisant) d'avoir pour que ça marche :
auth_param basic program /usr/lib/squid/squid_ldap_auth -b "ou=users,o=Monarbre" -u cn -f "(cn=%s)) -h Monserveur -D cn=admin,o=Monarbre -w password
Tu ajoutes l'ACL :
acl LOGIN proxy_auth REQUIRED
Et les autorisations :
http_access allow LOGIN
http_access deny all
Et normalement c'est tout bon.
Enfin par rapport à ta question d'une autre solution tu peux utiliser "winbind" si ton squid est sur ton LAN. Le principe c'est d'installer ce qu'il faut sur ton serveur squid pour qu'il s'intègre à ton domaine AD. L'intérêt c'est que du coup si tes clients sont des Microsoft avec IE tu peux faire du single sign on. Donc plus la peine de taper login et mot de passe si au login sur le PC tes utilisateurs se sont authentifiés dans l'AD.
Par contre pour ça je ne vais pas pouvoir t'aider. A bon entendeur....
Tiens nous aucourant de ton affaire.
Bon courage.