Connaitre le nom de la session windows

Connaitre le nom de la session windows - PHP - Programmation

Marsh Posté le 11-07-2007 à 18:48:02    

bonjour :hello:  
 
je suis amené à développer un intranet et plutôt que les utilisateurs se connectent avec un loggin et mdp je préférerais qu'ils soient directement authentifiés grace à leur session windows. Y a t'il donc un moyen de récupérer le nom de session windows de la personne qui navigue ?
 
merci

Reply

Marsh Posté le 11-07-2007 à 18:48:02   

Reply

Marsh Posté le 11-07-2007 à 23:40:58    

Reply

Marsh Posté le 17-07-2007 à 09:05:46    

merci bixibu, c'est exactement le genre de truc que je cherche, mais ça ne fonctionne pas car il y a un proxy...  :/

Reply

Marsh Posté le 18-07-2007 à 14:28:27    

au cas où ça puisse servir à d'autres j'ai trouvé !
 

Code :
  1. <?
  2. $username=shell_exec("echo %username%" );
  3. echo ("username : $username" );
  4. ?>


 
ça marche !

Reply

Marsh Posté le 18-07-2007 à 14:37:44    

je suis sur que tu teste en local

 

la tu sors le nom de la session ouverte sur le serveur ( le php etant toujours ouvert cote serveur )

 

et au fait, tu as un intranet avec un proxy :??:


Message édité par flo850 le 18-07-2007 à 14:38:08
Reply

Marsh Posté le 19-07-2007 à 11:27:20    

effectivement  :/  
 
pas de proxy mais il en faut un justement :??:  
en tout cas moi il m'affiche "Proxy bypass!"

Reply

Marsh Posté le 19-07-2007 à 11:34:45    

non, il ne faut aps de proxy (les proxy bloquent l'identification par ntlm )
 
tu as regardé ce que contenait la variable $_SERVER['HTTP_VIA'] ?

Reply

Marsh Posté le 19-07-2007 à 11:52:26    

tu peux authentifier sur le proxy si c'est juste pour faire du controle d'acces.... sinon avec IIS y a une chiée de trucs pour faire ça basiquement.

Reply

Marsh Posté le 19-07-2007 à 13:57:16    

flo850 a écrit :

non, il ne faut aps de proxy (les proxy bloquent l'identification par ntlm )
 
tu as regardé ce que contenait la variable $_SERVER['HTTP_VIA'] ?


entre autre le nom du serveur ISA  :/  
 
Taz c'est à dire ?
 
si quelqu'un a une solution ça m'arrangerait grandement !

Reply

Marsh Posté le 25-07-2007 à 09:11:56    

Taz a écrit :

tu peux authentifier sur le proxy si c'est juste pour faire du controle d'acces.... sinon avec IIS y a une chiée de trucs pour faire ça basiquement.


j'ai installé un seveur IIS, j'arrive à récupérer ce que je veux en ASP avec la fonction <%=request.servervariables("logon_user" )%> mais comment faire en PHP ?
 
j'ai déjà tout écrit en PHP et je n'ai pas envi de le refaire en ASP surtout que je n'y connais rien  :/

Reply

Marsh Posté le 25-07-2007 à 09:11:56   

Reply

Marsh Posté le 25-07-2007 à 10:47:46    

:hello:
 

  • si ton serveur est IIS et ton authentification en NTLM, tu dois configurer le serveur web comme suit :  

tu lances inetmgr, tu clic-droit sur le site->properties->directory security->authentification and access control->et tu coches "integrated windows authentification"

  • tu redémarres IIS
  • tu peux maintenant accéder au login de l'utilisateur en PHP via $_SERVER['auth_user']


note : cela marche directement dans IE
pour les autres browsers (Firefox, etc), tu dois faire une manip pour que ca se fasse automatiquement.
 
pour firefox 2:  

  • tu tapes about:config
  • tu filtres sur la chaine 'ntlm'
  • pour la valeur network.ntlm.send-lm-response, tu mets true
  • pour la valeur network.automatic-ntlm-auth.trusted-uris, tu rentre l'url de ton sereur web.


c'est évidemment à faire pour chaque client, puisque tu changes la conf de firefox.
de plus, ca revient (un peu) à affaiblir la sécurité de ton navigateur. C'est à voir suivant le confort que tu veux obtenir.
 
:jap:

Reply

Marsh Posté le 25-07-2007 à 11:47:11    

:hello: merci beaucoup nabbo ! ça marche vraiment bien !
 
le seul truc qui me dérange c'est qu'il y a une fenêtre d'authentification avant d'afficher la page  :/  
je sais niveau sécurité c'est mieux mais je voudrais être certain que personne n'utilise la session d'un autre pour aller sur le site...
en + si l'on est sous sa session on s'est déjà authentifier, c'est pas forcement utile de retaper son MDP

Reply

Marsh Posté le 25-07-2007 à 13:28:47    

la manip que je t'ai indiquée pour firefox t'évite d'avoir à retaper le login/mdp...
 
et, probablement, en cahngeant un ou deux parametres dans inetmgr, tu dois pouvoir trouver l'option qui évite d'avoir à saisir son login/mdp.
 
mais à ce moment là, il faut que tu prévoies que ton client ne s'est pas identifié... (client non-windows, par exemple...)

Reply

Marsh Posté le 26-07-2007 à 09:57:14    

:hello: merci encore pour ta réponse !
 
Pour FF il n'est pas question d'imposer son utilisation
 
sinon j'ai vu sur le net pour IIS :

Citation :

Configuration de l'authentification intégrée de Windows
 
L'authentification intégrée de Windows ne fonctionne pas sur les serveurs proxy ni sur d'autres applications pare-feu (firewall).
 
Si l'authentification intégrée de Windows échoue à cause d'informations d'identification utilisateur incorrectes ou d'un autre type de problème, le navigateur invite l'utilisateur à entrer son nom d'utilisateur et son mot de passe.
 
Seul Microsoft Internet Explorer, version 2.0 ou ultérieure, prend en charge l'authentification intégrée de Windows.


http://imode.prosygma.com/iishelp/ [...] iauths.htm
 
j'ai l'impression que le serveur ISA ou le firewall doit encore bloquer car visiblement l'authentification intégrée de Windows que j'ai activé ne devrait pas donner cette fenêtre...
je me demande si je vais trouver une solution :/

Reply

Marsh Posté le 26-07-2007 à 10:36:53    

j'ai trouvé !!!
 
dans IE il faut aller dans outils puis options internet ensuite sécurité puis cliquer sur intranet et enfin cliquer sur le bouton personnaliser le niveau et là, il faut cocher la case connexion automatique avec le nom d'utilisateur et le mot de passe actuel.
 
ça fonctionne bien !
 
par contre je me demande si ça ne pourrait pas causer des "conflits" avec d'autres sites ou si c'est génial niveau sécurité... ?

Reply

Sujets relatifs:

Leave a Replay

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