Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 05-06-2009 18:59:15

ambh
Nouveau membre
Date d'inscription: 05-06-2009
Messages: 9

[1.8.1] Exemple complet d'authentification avec le modèle MVC ?

Salu

Je débute en Zend framework.

J'ai lu plusieurs tutorial tres bien fait sur l'authentification en utilisant zend Framwork mais le problème qu'ils sont d'une version tres inférieur à la 1.8.1.

En plus ces exemples utilise des méthodes très variés ce qui me laisse pas voir le comment faire.

Quelqu'un a un exemple simple d'authentification utilisant la version 1.8.1 et en respectant le modèle MVC ?


Merci

Hors ligne

 

#2 06-06-2009 13:26:30

ambh
Nouveau membre
Date d'inscription: 05-06-2009
Messages: 9

Re: [1.8.1] Exemple complet d'authentification avec le modèle MVC ?

J'avance un peu dans la création du module d'authetification

Mais j'ai un problème

Undefined property: Zend_Auth::$user_type


du à cette instruction

$role = $this->auth->getIdentity()->user_type;

qu'est ce que je dois faire pour ajouter cette propriété à l'objet  Zend Auth ?

Merci

Hors ligne

 

#3 10-06-2009 10:43:30

ytokan
Nouveau membre
Date d'inscription: 05-06-2009
Messages: 1

Re: [1.8.1] Exemple complet d'authentification avec le modèle MVC ?

Bonjour Je suis nouveau sur le forum et je cherche aussi des infos sur comment mettre en place une session et une authentification simple pour géré l'accès a un back-office.

Entre les différentes versions de ZF, il y a pas mal de changement par rapport aux ancienne version.
J'utilise un shema MVC, ou mon organisation des fichiers est créé par le zf command
J'avoue être perdue dans ou je doit mettre mes informations

Voila si quelqu'un a des liens d'exemples ou la patience d'expliquer

Merci
Yto

Hors ligne

 

#4 10-06-2009 11:18:33

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: [1.8.1] Exemple complet d'authentification avec le modèle MVC ?

dans tes contrôleurs de panel admin tu peux faire comme ceci :

Code:

public function preDispatch() {
        $auth = Zend_Auth::getInstance()->setStorage(new Zend_Auth_Storage_Session('admin'));

        if (!$auth->hasIdentity()) {
            $this->_redirect('/admin/index');
        }
    }

le admin dans le sessionstorage est un espace de nom réservé pour que j'ai d'abord initialisé côté identification comme ceci dans le controleur d'identification:

Code:

$dbAdapter = Zend_Db_Table::getDefaultAdapter();                //on récupère la connexion à la base de donnée
                    $authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);        //récupération de l'adaptateur dbAdapter
                    $authAdapter->setTableName('administrateur');                    //on indique le nom de la table
                    $authAdapter->setIdentityColumn('login');                        //on indique la colonne du login
                    $authAdapter->setCredentialColumn('password');                    //on indique la colonne du mot de passe
    
                    //ajout des données du formulaire pour l'authentification
                    $authAdapter->setIdentity($username);
                    $authAdapter->setCredential($password);
    
                    //lancement de l'authentification
                    $auth = Zend_Auth::getInstance()->setStorage(new Zend_Auth_Storage_Session('admin'));
                    $result = $auth->authenticate($authAdapter);
                    
                    if ($result->isValid()) 
                    {
                        //success: store database row to auth's storage
                        //system. (Not the password though!)
                        $data = $authAdapter->getResultRowObject(null, 'password');
                        $auth->getStorage()->write($data);
                        $this->_redirect('/admin/accueil');
                    } 
                    else 
                    {
                        // failure: clear database row from session
                        $this->view->message = "Echec de l'identification";
                    }

Je sais que ma façon n'est pas la mieux adapté et que le mieux serait les ACL mais je n'arrive pas à bien cerner son fonctionnement donc je me cantonne à sa et sa marche très bien.

Dernière modification par throrin19 (10-06-2009 11:20:03)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages