Partage
  • Partager sur Facebook
  • Partager sur Twitter

Authentification LDAP

LDAP

Sujet résolu
    18 mai 2022 à 15:03:18

    Bonjour tous le monde !

    J'ai un souci sur ma connexion sur ma page avec authentification LDAP , ci-dessous mon code :

      <?php
      session_start();
     
      if(isset($_POST['login']) && isset($_POST['mdp'])){
     
          $adServer = "ldap://serveurldap:389";
     
          $ldap = ldap_connect($adServer);
          $username = $_POST['login'];
          $password = $_POST['mdp'];
     
          $ldaprdn = 'Mon_domaine' . "\\" . $username;
     
          ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
          ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
     
          $bind = @ldap_bind($ldap, $ldaprdn, $password);
     
          if ($bind) {
             $filter="(sAMAccountName=$username)";
             $result = ldap_search($ldap,"dc= ,dc= ,dc= ",$filter);
             ldap_sort($ldap,$result,"sn");
             $info = ldap_get_entries($ldap, $result);
             $_SESSION['login']=$username;
             header("location:accueil.php");
             @ldap_close($ldap);
     
          } else {
               header("location:authentification.php?info=1");
     
             }
      ?>

    Je n'arrive pas à résoudre pourquoi ma redirection ne marche pas alors que je viens de tester ce code sur un simple formulaire qui affiche "succès" si l'authentification via LDAP est réussi et cette code marche très bien, ci-dessous le code avec ce simple formulaire:

    <?php
    if(isset($_POST['username']) && isset($_POST['password'])){
    
       $adServer = "ldap://serveurldap:389";
        $ldap = ldap_connect($adServer);
        $username = $_POST['username'];
        $password = $_POST['password'];
    
        $ldaprdn = 'Mon_domaine' . "\\" . $username;
    
        ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
        ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
    
        $bind = @ldap_bind($ldap, $ldaprdn, $password);
    
        if ($bind) {
            $filter="(sAMAccountName=$username)";
            $result = ldap_search($ldap,"dc= ,dc= ,dc= ",$filter);
            ldap_sort($ldap,$result,"sn");
            $info = ldap_get_entries($ldap, $result);
            $affiche = "succès";
            echo $affiche;
            @ldap_close($ldap);
        } else {
            $msg = "Login ou mot de passe invalide";
            echo $msg;
        }
    
    }else{
    ?>
        <form action="#" method="POST">
            <label for="username">Username: </label><input id="username" type="text" name="username" />
            <label for="password">Password: </label><input id="password" type="password" name="password" />        
    		<input type="submit" name="submit" value="Submit" />
        </form>
    <?php } ?>


    Merci par avance pour votre aide.



    • Partager sur Facebook
    • Partager sur Twitter
      18 mai 2022 à 16:54:43

      Bonjour,

      As tu regardé les logs de ton serveur web ?

      Par ailleurs, il est conseillé avec header de mettre une URL en absolue et non en relative ...

      A+

      -
      Edité par monkey3d 18 mai 2022 à 21:11:26

      • Partager sur Facebook
      • Partager sur Twitter

      Authentification LDAP

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown