[Apache2] + NTLM : Réutiliser le login

+ NTLM : Réutiliser le login [Apache2] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 28-06-2007 à 14:57:32    

Bonjour à tous,
 
J'ai actuellement Apache2 qui fonctionne sur une Debian Etch.
Sur cette machine fonctionne un proxy de type Squid avec une authentification NTLM, et SARG qui me permet de faire des logs détaillés par utilisateur plutôt que par IP.
 
Je suis satisfait de cette solution, toutefois par souci de transparence, j'aimerai que les utilisateurs de mon domaine puissent avoir accès aux stats les concernant :
- soit par un envoi hebdomadaire ou mensuel d'un mail contenant les "topsites"
- soit par une page web les concernant sur laquelle ils peuvent se rendre quand ils le veulent
 
Comme SARG utilise les nom d'utilisateurs pour créer des dossiers relatifs aux stats des utilisateurs j'ai pensé que la deuxième solution sera la plus simple à mettre en place.
Je suis donc parti de l'idée de créer un ".htaccess" dans mon dossier de statistiques (squid-reports), qui authentifierai les utilisateurs par le biais de NTLM, puis les redirigerai vers la page de leur statistiques de la semaine.
 
J'ai donc suivi le tutoriel disponible à l'adresse : http://drupal.org/node/44718 qui se sert du module Apache2::AuthenNTLM (disponible ici : http://search.cpan.org/~speeves/Ap [...] henNTLM.pm )
J'arrive à le faire fonctionner, c'est à dire que seuls les utilisateurs du domaine peuvent accéder à un dossier en particulier que je verrouille à l'aide du "htaccess".
Par contre je bloque sur l'étape suivante, c'est à dire faire une redirection en fonction du nom de l'utilisateur.
 
En fait je me demande comment on peut récupérer le login une fois que l'authentification à été effectuée ?
 
J'ai recherché sur le Web, j'ai vu qu'il y avait un exemple de module qui utilisait apparemment cette authentification sur la page du premier module (voir http://search.cpan.org/~speeves/Ap [...] overriding )
mais je n'ai pas d'idée quand à l'utilisation que je pourrai en faire.
 
J'ai vu également qu'il existait un module pour authentifier à l'aide de "cookies" : http://search.cpan.org/~llap/Apache-AuthCookieNTLM/  
Pensez vous que cette méthode puisse me donner plus de résultats ?
 
Je me demandais également si il n'était pas possible de réutiliser directement l'authentification SQUID, j'ai lu la FAQ (http://wiki.squid-cache.org/SquidFaq/) mais je n'y ai rien trouvé d'intéressant. Certains l'ont déjà fait ?
 
Je vous remercie pour votre attention.

Reply

Marsh Posté le 28-06-2007 à 14:57:32   

Reply

Marsh Posté le 28-06-2007 à 15:58:58    

Ça se récupère via PHP sans problème.

Reply

Marsh Posté le 28-06-2007 à 16:30:23    

Merci pour ta réponse.
J'ai regardé attentivement du coté du php, notamment les liens http://www.phpcs.com/codes/NTLM-GE [...] 25272.aspx et http://www.blognote-info.com/index [...] -le-retour
Mais les deux s'accordent à dire qu'on ne peut pas le faire a travers un proxy.
 
Si tu m'as suggéré cette solution tu connais peut-être un moyen de passer outre cette limitation, ou un lien qui me monterai comment faire ?

Reply

Marsh Posté le 28-06-2007 à 16:35:02    

via proxy ça marche des fois, des fois pas. cherche donc la signification du L de NTLM

Reply

Marsh Posté le 28-06-2007 à 17:01:34    

Merci pour cette remarque, je la prend en considération.  
Je pourrais donc passer sur chaque poste client pour aller désactiver le proxy pour les adresses locales et ainsi contourner le problème.
Cela dit je préfère rester assis sur mon fauteuil pour chercher une solution ;)
 
Si il existe un module Perl me permettant de récupérer le login NTLM à travers un proxy, je suis certain qu'il est possible de récupérer d'une manière ou d'une autre le login (autrement qu'en allant parser les logs d'apache) pour faire une redirection sur une page particulière.
 
Tu penses que je me trompe ?  
Peut-être que tu peux me montrer un exemple ou "dès fois ça marche, dès fois ça marche pas" pour que j'essaye de voir pourquoi "dès fois ca marche pas" ?

Reply

Marsh Posté le 28-06-2007 à 17:36:57    

Utilise un proxy.pac.
 
Ce que je voulais dire, c'est que le NTLM over HTTP, lui même utilisable pour authentification sur proxy, a des fois du mal à être utilisé par des applications web lorsque le client se connecte à travers des proxies/antivirus. Maintenant dans le cadre général, il n'y a pas de raisons que ça ne marche pas. Mais j'ai des expériences de fiasco complets d'applications de grands éditeurs basant TOUT sur NTLM pour l'authentification des utilisateurs de leurs applis webs.

Reply

Marsh Posté le 29-06-2007 à 10:59:53    

Un proxy.pac demande aussi d'aller sur chaque poste client cocher "détecter les paramètres automatiquement" si je ne m'abuse.
 

Code :
  1. $self -> {userdomain} = $dom_len?$domain:$self -> {defaultdomain} ;
  2. $self -> {username}   = $user ;
  3. $self -> {usernthash} = $nt_len ? $nt : $lm;


 
La partie qui contient le username dans le module ressemble à ça, est-ce possible de la réutiliser comme en la stockant dans une variable d'environnement temporairement par exemple, ou en l'appelant telle quelle dans le .htaccess ?


Message édité par bichtoubard le 29-06-2007 à 11:00:53
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed