Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
847 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] SSO avec LDAP

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] SSO avec LDAP

n°2164600
Toscanno
Posté le 19-11-2012 à 14:57:50  profilanswer
 

Bonjour à tous,
 
Je cherche à faire une authentification relativement 'simple' sur un Intranet avec un AD et pour que tout soit parfait je souhaite le faire en SSO
 
Sur mon serveur Intranet, la connexion avec LDAP fonctionne et mes utilisateurs sont reconnus lorsqu'ils rentrent leurs login/mdp dans un formulaire, donc pas de soucis de ce coté là. De plus le serveur héberge un GLPI qui fonctionne déjà en SSO donc toute la config devrait se prêter au SSO (par ex l'adresse du serveur est déjà dans les sites de confiance).
 
Maintenant je n'ai rien trouvé dans mes recherches qui me permette de faire mon SSO sans rien toucher à la config... donc est ce que quelqu'un aurait une méthode ou un tuto à me conseiller ? Eventuellement comment est ce que GLPI gère son SSO ?
 
Merci pour vos infos
++

mood
Publicité
Posté le 19-11-2012 à 14:57:50  profilanswer
 

n°2164663
CyberDenix
Posté le 19-11-2012 à 22:58:09  profilanswer
 

J'ai rien compris, un coup tu dis que ça fonctionne, l'autre coup tu dis que tu veux de l'aide.
 
Je te poste quand même 2 liens, on sait jamais :
 
http://php.net/manual/fr/book.ldap.php
 
http://php.net/manual/fr/function.ini-set.php


---------------
Directeur Technique (CTO)
n°2164754
Toscanno
Posté le 20-11-2012 à 15:31:52  profilanswer
 

Ce qui fonctionne c'est l'authentifation LDAP au travers d'un formulaire.
 
Le point sur lequel je souhaite de l'aide c'est la mise en place du SSO pour que les utilisateurs n'aient pas à rentrer de mot de passe ou remplir de formulaire, en gros que leur authentification de session windows soit l'unique moment où ils rentrent un mot de passe.

n°2164763
Toscanno
Posté le 20-11-2012 à 16:45:19  profilanswer
 

Bon je viens en fait de trouver solution à mon problème.
 
J'avais trouvé cette page, mais j'avais buté sur le fait qu'il y avait une première authentification, ce qui ne me convenait donc pas. Ce 'soucis' venait juste du fait que mon site n'était pas dans mes sites de confiance, une GPO a vite résolu le problème.
 
Voici la page en question :
 
http://siphon9.net/loune/2007/10/s [...] lm-in-php/
 
Le code :


<?php
$headers = apache_request_headers();
 
if (!isset($headers['Authorization']))
{
 header('HTTP/1.1 401 Unauthorized');
 header('WWW-Authenticate: NTLM');
 exit;
}
 
$auth = $headers['Authorization'];
 
if (substr($auth,0,5) == 'NTLM ')
{
 $msg = base64_decode(substr($auth, 5));
 if (substr($msg, 0, 8) != "NTLMSSP\x00" )
  die('error header not recognised');
 if ($msg[8] == "\x01" ) {
  $msg2 = "NTLMSSP\x00\x02\x00\x00\x00".
  "\x00\x00\x00\x00". // target name len/alloc            
  "\x00\x00\x00\x00". // target name offset              
  "\x01\x02\x81\x00". // flags              
  "\x00\x00\x00\x00\x00\x00\x00\x00". // challenge              
  "\x00\x00\x00\x00\x00\x00\x00\x00". // context              
  "\x00\x00\x00\x00\x00\x00\x00\x00"; // target info len/alloc/offset            
  header('HTTP/1.1 401 Unauthorized');          
  header('WWW-Authenticate: NTLM '.trim(base64_encode($msg2)));
  exit;
 }
 else if ($msg[8] == "\x03" )
 {
  function get_msg_str($msg, $start, $unicode = true)
  {
   $len = (ord($msg[$start+1]) * 256) + ord($msg[$start]);
   $off = (ord($msg[$start+5]) * 256) + ord($msg[$start+4]);
   if ($unicode)
    return str_replace("\0", '', substr($msg, $off, $len));
   else
    return substr($msg, $off, $len);
  }
  $user = get_msg_str($msg, 36);
  $domain = get_msg_str($msg, 28);
  $workstation = get_msg_str($msg, 44);
  print "You are $user from $domain/$workstation";
 }
}
?>


 
J'ai donc le nom de session qui est renvoyé ce qui me convient pour ensuite au travers de LDAP faire une vérification.
 
si ça peut servir à d'autres personnes !
 
++
 

n°2164809
CyberDenix
Posté le 21-11-2012 à 01:33:45  profilanswer
 

Thanks for sharing ;)


---------------
Directeur Technique (CTO)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] SSO avec LDAP

 

Sujets relatifs
Créer une liste numérotée en PHPPDO PHP
PHP, cookie, path.PHP - Contact Management (tri, catégories ...)
[RESOLU] socket inter-process C/PHP linux[PHP] FPDF error: Some data has already been output, can't send PDF fi
PHP-HTML[Codage PHP] Affichage résumé d'une ligne
Inclure du PHP dans un mail en htmlIntégration ldap sur sql serveur
Plus de sujets relatifs à : [PHP] SSO avec LDAP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR