[PHP] Besoin d'aide pour une authentification NTLM

Besoin d'aide pour une authentification NTLM [PHP] - PHP - Programmation

Marsh Posté le 22-04-2003 à 10:16:03    

Je met en place un intranet qui tourne sur un parc Windows. Apache2 win, php 4.2 et oracle sont utilisés.
 
Je dois permettre une authentification automatique qui se base sur le login windows. Je me suis donc penché sur NTLM. J'ai vu qu'un module apache existait et remplissait la variable $_server['logon_user'] (ou remote user). La version du module compatible apache2 se nomme 'mod_auth_sspi'. J'ai installé le module via un loadModule :
 

Code :
  1. LoadModule sspi_auth_module modules/mod_auth_sspi.so


 
apache tourne bien avec le module (php_info) mais quand j'essaie d'acceder au nom d'utilisateur...rien
 
Autre info :
 
J'ai a ma disposition des sources php et le httpd.conf d'un module de l'intranet qui tournait avec la meme authentification. En fait il utilise mod_ntlm qui est la version compatible apache 1.3. J'ai vérifié que ma config et la sienne etait les meme et je ne suis apparament pas trompé.
 
Si qqun peut m aider a mettre en place le systeme ou essayer de patauger avec moi, ce serait genial.

Reply

Marsh Posté le 22-04-2003 à 10:16:03   

Reply

Marsh Posté le 22-04-2003 à 10:24:33    

Vérifie que la casse de la variable : $_SERVER["logon_user"] ou aussi $_SERVER["LOGON_USER"] par exemple.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 22-04-2003 à 10:36:35    

mon idex.php pour tester
 

Code :
  1. echo $_SERVER["logon_user"] ;
  2. echo $_SERVER["LOGON_USER"] ;
  3. echo $_SERVER["remote_user"] ;
  4. echo $_SERVER["REMOTE_USER"] ;


 
le contenu de <directory> dans httpd.conf :
 

Code :
  1. AllowOverride All
  2. Order allow,deny
  3.     Allow from all
  4.    
  5. AuthType SSPI
  6.     AuthName "SIHCM"
  7.     SSPIAuth On
  8.     SSPIAuthoritative On
  9.     SSPIOfferBasic On


 
toujours rien :( pourtant le module est chargé

Reply

Marsh Posté le 22-04-2003 à 11:21:51    

Suis desolé de up mais aujourd'hui vraiment je creve...
 
je sais que ca n'a rien a voir mais je me suis fait plaquer hier apres 3ans de bonheur :(.
 
Je croyais pouvoir noyer mon chagrin dans le taff mais je bloque et n'arrive a rien, quelle galère...

Reply

Marsh Posté le 22-04-2003 à 11:24:51    

Courage :/ Je sais que c'est facile à dire, mais ça passera. Et c'est normal que t'arrives pas à te concentrer sur le boulot, va.
Pour ton problème, je sais pas ce qui ne va pas, c'est un module que je connais pas. Au départ, je pensais effectivement à la casse mais apparemment c'est pas ça. C'est certainement la config qui chie ; y a pas des exemples ou des tutos sur le Net ?


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 22-04-2003 à 11:34:26    

Merci pour le soutien. Mais t'as raison, j'arrive a rien là ...
 
Sur le net ya peu de doc et de retour sur ce module, je pense avoir fait le tour sans resultat.
 
Sinon pour ceux qui veulent se casser la tete, la doc d'install du module :
 
 

Code :
  1. ==========
  2. Basic installation instructions:
  3. 1. Add the module to the server's config file.
  4. Typically you'll do this by adding something like the following to your
  5. httpd.conf:
  6.     LoadModule sspi_auth_module modules/mod_auth_sspi.so
  7. Make it the last module loaded if you can.
  8. 2. Protect a directory or location.
  9. You can put these directives inside the httpd.conf file, or inside .htaccess
  10. files if AllowOverride AuthConfig is set.
  11. <Directory "C:/SSPI">
  12.     AllowOverride None
  13.     Options None
  14.     Order allow,deny
  15.     Allow from all
  16.    
  17.     AuthName "My Intranet"
  18.     AuthType SSPI
  19.     SSPIAuth On
  20.     SSPIAuthoritative On
  21.     require valid-user
  22. </Directory>
  23. 3. If you plan to use Basic authentication, set the Apache service to run as
  24. a valid local or domain user. Failure to do so will result in clients getting
  25. 400 Bad Request or 500 Internal Server Error responses.
  26. ==========
  27. That's about it! A brief discussion of the other options (copied verbatim from
  28. the source):
  29.     SSPIAuth           - set to 'on' to activate SSPI authentication here
  30.     SSPIOfferSSPI      - set to 'off' to allow access control to be passed
  31.                          along to lower modules if the UserID is not known to
  32.                          this module
  33.     SSPIAuthoritative  - set to 'off' to allow access control to be passed
  34.                          along to lower modules if the UserID is not known to
  35.                          this module
  36.     SSPIOfferBasic     - set to 'on' to allow the client to authenticate
  37.                          against NT with 'Basic' authentication instead of
  38.                          using the NTLM protocol
  39.     SSPIPackage        - set to the name of the package you want to use to
  40.                          authenticate users
  41.     SSPIDomain         - set to the domain you want users authenticated
  42.                          against for cleartext authentication - if not
  43.                          specified, the local machine, then all trusted
  44.                          domains are checked
  45.     SSPIBasicPreferred - set to 'on' if you want basic authentication to be
  46.                          the higher priority
  47.     SSPIMSIE3Hack      - set to 'on' if you expect MSIE 3 clients to be using
  48.                          this server
  49. The require directive can take the following forms (based on the old
  50. mod_auth):
  51.     require valid-user             # any valid user will do, useful for logging
  52.                                    # who accessed each file, for example
  53.     require user DOMAIN\Username   # require a specific user
  54.     require group DOMAIN\Groupname # require a group member
  55.     require user "NT DOMAIN\User name"
  56.                                    # require a user with spaces in logon id
  57. ==========
  58. That's all - I hope the module's useful.
  59. Tim <tim@syneapps.com>


 
 
Ca me barbe je vais lacher l'affaire je crois, pas envie de me prendre la tete


Message édité par Masure le 22-04-2003 à 11:35:41
Reply

Marsh Posté le 22-04-2003 à 15:29:02    

pitié  :(

Reply

Marsh Posté le 22-04-2003 à 15:42:47    

ptet le require valid-user qui te manque ?

Reply

Marsh Posté le 22-04-2003 à 15:54:36    

Je viens de rajouter la ligne, relancer apache et visualisé les variables _server... toujours pas de remote_user a l'horizon...
 
merci d'aider :)
 
jvois pas ce qu'il me manque pour que la variable soit là ...

Reply

Marsh Posté le 05-05-2003 à 10:14:44    

up ca marche toujours pas...

Reply

Marsh Posté le 05-05-2003 à 10:14:44   

Reply

Marsh Posté le 05-05-2003 à 10:24:47    

ntlm, c'est de la merde, ça ne marche qu'avec ie(ou moz sous win)

Reply

Marsh Posté le 05-05-2003 à 10:56:29    

daique a écrit :

ça ne marche qu'avec ie(ou moz sous win)


 
je répond avec une auto citation :
 

Citation :

Masure a écrit : Je met en place un intranet qui tourne sur un parc Windows. Apache2 win, php 4.2 et oracle sont utilisés.


 
Et si tu me dis que windows ne veut pas forcément dire IE (ou moz), moi je te dis que quand tu fais l'intranet d'un hosto qui a un parc WinNT et des gars qui font le contenu sous WORD, tu te fiches pas mal de savoir si tu es W3C compliant (tu peux dire ce que tu veux)
 

daique a écrit :

ntlm, c'est de la merde


 
Tu vois un gars est sur son poste NT et loggé sur son compte. Il veut aller sur l'intranet pour y glaner des infos. Au lieu de présenter un magnifique écran de login où il va retaper ses infos (login et mdp) qu'il a deja tapées pour se logger sous NT, je le logge directement. Comment oses tu qualifier de merde une augmentation de l'ergonomie ? J'avoue ne pas te suivre.
 
Sachant que si j'ai fait un choix (en l'occurence NTLM) et que je demande sur le forum un coup de main car j'arrive pas a mettre en oeuvre le choix que j'ai fait, c'est que c'est murement réflechi. J'ai pas besoin d'un pantin pour me dire que je fais fausse route avec des arguments qui ne tiennent pas du tout compte des contraintes que j'ai exprimées. Si je veux demander l'avis des forumers sur une méthode a mettre en place pour telle fonctionnalité, ne t'en fais pas je ferais un topic adéquat.
 
Si tu sais pas quoi faire de ton temps, je peux te filer du boulot stu veux.


Message édité par Masure le 05-05-2003 à 10:58:24
Reply

Marsh Posté le 05-05-2003 à 11:12:01    

Bah, si t'aime bien bien t'enfermer dans tes solutions pourries et propriétaires, c'est ton choix.  
 
Et t'en fait pas, je sais quoi faire de mon temps, je vais quand meme pas faire ton boulot que tu n'arrives pas a faire.

Reply

Marsh Posté le 05-05-2003 à 11:25:41    

daique a écrit :

Bah, si t'aime bien bien t'enfermer dans tes solutions pourries et propriétaires, c'est ton choix.
Et t'en fait pas, je sais quoi faire de mon temps, je vais quand meme pas faire ton boulot que tu n'arrives pas a faire.


 
Chui desolé mais je vois pas en quoi c'est pourri et tu ne m'éclaire pas plus

Reply

Marsh Posté le 05-05-2003 à 11:28:35    

daique a écrit :

Bah, si t'aime bien bien t'enfermer dans tes solutions pourries et propriétaires, c'est ton choix.  
 
Et t'en fait pas, je sais quoi faire de mon temps, je vais quand meme pas faire ton boulot que tu n'arrives pas a faire.

:heink:  
tres mauvais troll.....

Reply

Sujets relatifs:

Leave a Replay

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