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 :

Zend_Auth sans mot de passe [ZF 1.7]


Sujet :

Zend_Acl & Zend_Auth PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut Zend_Auth sans mot de passe
    Bonjour, je souhaiterais authentifier un utilisateur via une url cryptée sans mot de passe (pas d'inquiétude c'est une authentification avec droit limités) mais je ne sais pas comment faire. Je ne sais même pas si c'est possible. J'ai pas trouvé grand chose dans la doc de ZF.

    J'ai fait ceci mais j'ai une exception me disant qu'une colonne credential est nécessaire...

    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
     
    LoginController :
     
        public function privateAction()
        {
     
        	if (!$this->_request->getParam('u')) {
    			throw new My_UserException('url incorrecte!');
        	}
     
            $db = Zend_Db_Table_Abstract::getDefaultAdapter();
            $dbAdapter = new Zend_Auth_Adapter_DbTable($db,'utilisateurs','login_crypted');
     
            $dbAdapter->setIdentity($this->_request->getParam('u'));
     
            $result = $this->_auth->authenticate($dbAdapter);
     
            if ($result->isValid()) {
            	echo 'ça marche!';
            	exit;
            }
     
        }
    Merci pour votre aide

  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
    Si ton url est comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    /login/private/u/toto
     
    //ou
     
    /login/private?u=toto
    Pourquoi cela ne marcherais pas ?

  3. #3
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Ce n'est pas un problème d'url.
    En fait c'est que Zend_Auth me demande forcément un mot de passe et dans ce cas précis je ne l'ai pas.
    La solution que j'ai trouvé c'est de récupérer le mot de passe dans la base et de faire l'authentification juste après mais je trouve ça un peu nul.

    Je me demandais juste si c'était possible d'utiliser Zend_auth sans mot de passe voilou!

  4. #4
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    C'est possible, mais il faut que tu fasses ton propre adaptateur, au lieu de passer par Zend_Auth_Adapter_DbTable...

  5. #5
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Ah ok!
    Bon ben je verrais ça alors, merci pour ta réponse.
    Pour le moment je feinte, je récupère le mot de passe dans la base et j'authentifie l'utilisateur après, ça fait deux deux requêtes et c'est pas beau mais ça marche!

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

Discussions similaires

  1. Réponses: 24
    Dernier message: 12/07/2006, 11h11
  2. Réponses: 7
    Dernier message: 06/06/2006, 14h54
  3. Session ouverte sans mot de passe
    Par BnA dans le forum Web
    Réponses: 4
    Dernier message: 09/05/2006, 11h04
  4. Réponses: 9
    Dernier message: 23/03/2006, 09h38
  5. [PostgresSQL]Pb accés des utilisateurs sans mot de passe
    Par woodwai dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 22/05/2003, 16h06

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