Authentification par ldap

Contenu du snippet

cela permet de s'authentifier avec un annuaire ldap !

le resultat trouvé celui ci est retourné vers la fenetre qui avait appelé l'authentification ( c le window.opener. ...)

le mkntpwd c une appli en c que j'utilise pour crypter mes pass car ceux stocké dans mon ldap etait deja crypté par cette appli !

voila en esperant que sa pourra aidé du monde !

Source / Exemple :


<?
  session_start();

  if($saisieEffectuer) {

    //recuperation du pass crypter . on fait un rtrim pour supprimer les espace a la fin.
    $pwd=rtrim(shell_exec("mkntpwd.exe -N ".$pass.""));

    //connection a ldap
    $ds=ldap_connect("200.200.4.192");
    if ($ds) {

        $r=ldap_bind($ds);
        //recherche
        $sr=ldap_search($ds,"dc=entreprise, dc=fr","uid=".$login."");
        $info = ldap_get_entries($ds, $sr);
        //comparaison du pass dans ldap et celui saisi+crypté
        if($info[0]["ntpassword"][0]==$pwd) {
           //meme pass donc enregistrement dans session du login et du nom
           $_SESSION["login"]=$login;
           $_SESSION["libelle"]=$info[0]["cn"][0];

           //pour quitter fenetre d'authentification et inscrire dans champ dessinateur le nom du dessinateur
           echo "<script language='JavaScript'>window.opener.DessinateurOF.value='".$_SESSION["libelle"]."'; window.close()</script>";

        }
        else {
           //mauvais pass
           $_SESSION["login"]="";
           $_SESSION["libelle"]="";
           echo "<script language='JavaScript'>window.opener.DessinateurOF.value='".$_SESSION["libelle"]."'; alert('Mauvais pass.'); document.authentification.cours.value='';</script>";
        }
        //fermeture connection a ldap
        ldap_close($ds);

    }
  }
?>

<html>
<head>
<title>Authentification</title>
</head>
<body bgcolor="#ffff99">
<br>

<script language="Javascript">

   function verifierSaisie() {
      if(document.authentification.login.value=="") {
         alert("Login non saisi.");
      }
      else {
         if(document.authentification.pass.value=="") {
            alert("Pass non saisi");
         }
         else {
            document.authentification.cours.value="en cours...";
            document.authentification.submit();
         }
      }
   }

</script>

<div align="center">
<form name="authentification" action="<? $PHP_SELF ?>" method="post">
<table width="90%" border="1" cellspacing="0" bordercolor="#000000">
  <tr>
    <td colspan="2" align="center"><b><font size="+1">Authentification</font></b></td>
  </tr>
  <tr>
    <td>Login :</td>
    <td><input style="border-style:solid" type="text" name="login" size="16" maxlength="30"></td>
  </tr>
  <tr>
    <td>Pass :</td>
    <td><input style="border-style:solid" type="password" name="pass" size="16" maxlength="30"></td>
  </tr>
  <tr>

    <td colspan="2" align="center"><input type="hidden" value="true" name="saisieEffectuer">
                                   <input type="button" value="Annuler" onclick="window.close()">&nbsp;
                                   <input type="button" OnClick="verifierSaisie()" value="    Ok    "></td>
  </tr>
</table>
<input type='text' style='border:none; background-color:#ffff99' name='cours' value='' size=11 >
</form>
</div>  

</body>
</html>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.