IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[PEAR][Auth] Comment utiliser les sessions ?


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    489
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 489
    Points : 388
    Points
    388
    Par défaut [PEAR][Auth] Comment utiliser les sessions ?
    Bonjour,

    Je suis en train de tester Auth, la librairie PEAR.
    J'ai deja fait des systemes d'authentification, avec les sessions, mais sans Auth.

    Donc la j'ai cree une premiere page en suivant leur doc..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?php
     
    require_once "Auth.php";
     
    function loginFunction()
    {
         /*
          * Change the HTML output so that it fits to your
          * application.
          */
         echo "<form method=\"post\" action=\"index.php?login=1\">";
         echo "<input type=\"text\" name=\"username\">";
         echo "<input type=\"password\" name=\"password\">";
         echo "<input type=\"submit\">";
         echo "</form>";
    }
     
    if (isset($_GET['login']) && $_GET['login'] == 1) {
         $optional = true;
    } else {
         $optional = false;
    }
     
    $options = array('dsn'=>'mysql://****:*****@localhost/*****');
    $a = new Auth("DB", $options, "loginFunction");
     
    $a->start();
     
    echo "Everybody can see this text!<br />";
     
    if (!isset($_GET['login'])) {
         echo "<a href=\"index.php?login=1\">Click here to log in</a>\n";
    }
     
    if ($a->getAuth()) {
         echo "One can only see this if he is logged in!";
         echo "<br/><a href='../index.php'>Test session</a>";
    }
    ?>

    Par contre, quand je passe sur une nouvelle page je ne sais pas comment garder l'authentification...?

    j'ai essaye ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    require_once "Auth.php";
    if ($a->checkAuth()) {
    	echo "OK";
    }
    Mais forcement, il me sort une erreur, vu que mon objet $a n'est pas crée dans cette page..

    Comment on fait pour garder les infos d'authentification de page en page, avec Auth ? Leur doc n'est pas claire du tout !

    Merci !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    489
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 489
    Points : 388
    Points
    388
    Par défaut
    Ou alors j'ai mal compris, et il faut fixer la session soi meme ? ca n'est pas auth qui gere ca ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    489
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 489
    Points : 388
    Points
    388
    Par défaut
    Bon, j'ai fait ca comme ca, finalement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?php
     
    require_once "Auth.php";
     
    function loginFunction()
    {
         /*
          * Change the HTML output so that it fits to your
          * application.
          */
         echo "<form method=\"post\" action=\"index.php?login=1\">";
         echo "<input type=\"text\" name=\"username\">";
         echo "<input type=\"password\" name=\"password\">";
         echo "<input type=\"submit\">";
         echo "</form>";
    }
     
    if (isset($_GET['login']) && $_GET['login'] == 1) {
         $optional = true;
    } else {
         $optional = false;
    }
     
    $options = array('dsn'=>'mysql://****:*****@localhost/****');
    $a = new Auth("DB", $options, "loginFunction");
     
    $a->start();
     
    echo "Everybody can see this text!<br />";
     
    if (!isset($_GET['login'])) {
         echo "<a href=\"index.php?login=1\">Click here to log in</a>\n";
    }
     
    if ($a->getAuth()) {
    		session_start();
    		$_SESSION['auth'] = serialize($a);
         echo "One can only see this if he is logged in!";
         echo "<br/><a href='../'>Test session</a>";
    }
    ?>

    et


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?php
    //*** - index du site//
    require_once "Auth.php";
     
    session_start();
    if (session_is_registered("auth")) 
    {
    	$a = unserialize($_SESSION['auth']);
    	$a->start();
    	if ($a->checkAuth())
    	{
    		echo "OK";
    	}
    	else
    	{
    		header("Location:register/index.php");
    	}
    }
    else
    {
    	header("Location:register/index.php");
    }
     
     
     
     
     
    ?>


    Mais est-ce bien une facon correcte d'utiliser Auth ?????

    y'a bien des gens qui l'utilisent, cette librairie, non ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2003
    Messages : 29
    Points : 28
    Points
    28
    Par défaut
    Je l'utilise mais je n'ai pas accès à mes scripts d'ici
    j'essayerais de les récupérer dans la semaine pour voir comment j'ai fait

    @++

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Même problème : as-tu trouvé une autre solution ?
    Comme décrit sur ce post, je me pose la même question que toi sur le passage de l'instance de Auth en session à faire manuellement.

    Est-ce que tu as trouvé une autre solution ou bien as-tu eu la confirmation que la méthode que tu présente ci-dessus est la bonne ?

    Merci d'avance.

Discussions similaires

  1. Réponses: 11
    Dernier message: 06/01/2012, 17h55
  2. Réponses: 3
    Dernier message: 09/01/2007, 09h44
  3. [2.0] Comment utiliser les variables de session ?
    Par batosai dans le forum ASP.NET
    Réponses: 11
    Dernier message: 03/05/2006, 15h49
  4. php:comment utiliser les sessions en php
    Par feten dans le forum Langage
    Réponses: 3
    Dernier message: 19/11/2005, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo