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

Zend_Acl & Zend_Auth PHP Discussion :

Identifiant sans utiliser le nom d'utilisateur


Sujet :

Zend_Acl & Zend_Auth PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut Identifiant sans utiliser le nom d'utilisateur
    Bonjour,

    Voilà mon petit souci:

    Contexte:
    Avant de s'inscrire les utilisateurs du site peuvent effectuer peuvent essayer l'application. Au cours de ce test, j'ai besoin d'avoir un user authentifié (j'utilise le Zend_Auth). L'utilisateur, à la fin de son test, peut choisir son username et mot de passe si il veut continuer.

    J'ai suivi le tutoriel zend_auth et tout fonctionne bien (formulaire de login, récupérer l'utilisateur etc...) Seulement je bloque lors qu'il s'agit d'authentifier un utilisateur sans le formulaire de login classique.

    J'aimerais pouvoir authentifier un utilisateur que je viens de créer sans username/password en utilisant simplement son id.
    Est-ce possible via Zend_auth ou faut-il faire les choses plus manuellement?

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Quand tu crées tu users, tu fais directement une requète pour récupérer son nid dans le db et tu le passes A Zend_Auth

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut
    Extrait de la doc officiel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // Set up the authentication adapter
    $authAdapter = new MyAuthAdapter($username, $password);
     
    // Attempt authentication, saving the result
    $result = $auth->authenticate($authAdapter);

    Je ne sais pas comment utiliser un équivalent d'authenticate() avec le userId.

    Par 'nid' tu faisais bien référence à l'id de l'enregistrement créé dans la table user?

  4. #4
    Membre très actif Avatar de hazamor
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2008
    Messages : 179
    Par défaut setIdentity /setCredential
    Tu peux utiliser "Database Table Authentication":
    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
     
    $nom_table="user";
    $nom_Col_Login="id";
    $nom_Col_pssword="pass";
     
    $auth_Adapter = new Zend_Auth_Adapter_DbTable ( $dbAdapter, $tableName, $nom_Col_Login,$nom_Col_pssword);
     
    $auth_Adapter->setIdentity($id);
    $auth_Adapter->setCredential($password);
     
    $auth = Zend_Auth::getInstance ();
     
    $result = $auth->authenticate ( $auth_Adapter);
    if ($result->isValid ()) {
    ....
    }
    avec $dbAdapter est de type Zend_Db

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut
    Merci !

    Pour ceux qui auront le même problème, voilà ce que j'ai fait avant pour avoir un username et password fictif

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $user->setUsername($userId)
            ->setPassword('test');
     $user->save();

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/08/2011, 23h40
  2. Réponses: 4
    Dernier message: 12/02/2008, 20h05
  3. Réponses: 3
    Dernier message: 19/09/2007, 14h03
  4. Réponses: 7
    Dernier message: 12/04/2007, 15h50
  5. Réponses: 9
    Dernier message: 01/07/2006, 20h04

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