Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-04-2010 13:19:10

0866
Membre
Date d'inscription: 02-04-2010
Messages: 27

[zend_auth][1.9]recuperer/afficher login et mot passe

Bonjour,

je suis débutant en ZF, je veux créer un formulaire pour l'authentification; dans l'authentification j utiliser 'Zend_auth' avec l'adaptateur 'http'. Comme premier étape j  commencer par afficher le contenu de 2 champs login/password après l'authentification mais j'arrive pas a faire cette étape.   

Merci d'avance.

Hors ligne

 

#2 02-04-2010 13:27:04

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: [zend_auth][1.9]recuperer/afficher login et mot passe

Bonjour,

Voici un bout de code qui va pouvoir, je l'espère t'aider, mais va sur la documentation de Zend sur ce sujet elles est assez bien faite.

Bon il faut le mettre à ta sauce après :

Code:

                $db = Zend_Db_Table::getDefaultAdapter();
                $dbAdapter = new Zend_Auth_Adapter_DbTable($db, 'users_list', 'users_list_login', 'users_list_password', 'MD5(?)');
                $dbAdapter->setCredential($this->_request->users_list_password)->setIdentity($this->_request->users_list_login);

                $auth = $this->_auth->authenticate($dbAdapter);

                if ($auth->isValid()) {
                    $datas = $dbAdapter->getResultRowObject(null, array('users_list_password',
                            'users_list_mail',
                            'users_list_activation_key',
                            'users_list_active',
                            'users_list_date_subscribe'));

                    foreach($datas as $key => $value) {
                        $identity->$key = $value;
                    }

                    $this->_auth->getStorage()->write($identity);
                }

Bien cordialement.

Hors ligne

 

#3 02-04-2010 14:16:03

0866
Membre
Date d'inscription: 02-04-2010
Messages: 27

Re: [zend_auth][1.9]recuperer/afficher login et mot passe

Merci bq,
pour le soutien,
Mais je travail avec Zend_auth_adapter_http et non pas Zend_Auth_Adapter_DbTable.

Hors ligne

 

#4 02-04-2010 15:03:10

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [zend_auth][1.9]recuperer/afficher login et mot passe

Faudrait que tu nous montres comment tu affiches ces champs.

nicko te montre une solution que tu peux utilisé, seule l'adpater change, le reste du code est valable, C'est le but d'un adapter.
Seule la conf de l'adapter change et elle est très facile pour Http. Le guide de référence du ZF ton montre tout ce qu'il faut


----
Gruiiik !

Hors ligne

 

#5 02-04-2010 15:19:38

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: [zend_auth][1.9]recuperer/afficher login et mot passe

Oh oui (honte sur moi)

Mais je pense aussi que comme c'est de adapter, le fonctionnement doit être presque le identique dur les fonction de base.

Il est vraiment bien ce Zend LOL

Dernière modification par nicko (02-04-2010 15:20:22)

Hors ligne

 

#6 02-04-2010 15:21:00

0866
Membre
Date d'inscription: 02-04-2010
Messages: 27

Re: [zend_auth][1.9]recuperer/afficher login et mot passe

voici l'instruction qui j'utilise :

Code:

 echo $result->getIdentity();

mais il affiche un le mot Array

Hors ligne

 

#7 07-04-2010 09:07:44

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [zend_auth][1.9]recuperer/afficher login et mot passe

Code:

print_r($result->getIdentity());

----
Gruiiik !

Hors ligne

 

#8 07-04-2010 09:52:38

0866
Membre
Date d'inscription: 02-04-2010
Messages: 27

Re: [zend_auth][1.9]recuperer/afficher login et mot passe

Bonjour,
Merci nORKy, mais il affiche toujours la même chose ==> Array
Ainsi l'autentification ne fonctionne pas comme il faut ; le programme affiche toujours un message d'erreur et j comprend pas comment; parce que j copier le code de la documentation du ZF.

pouvez vous m'aider SVP?

Hors ligne

 

#9 14-05-2010 17:19:01

JiBe
Membre
Lieu: Brabant Wallon, Belgique
Date d'inscription: 27-06-2007
Messages: 16

Re: [zend_auth][1.9]recuperer/afficher login et mot passe

Bonjour,
J'ai réaliser un plugin pour contrôler l'identification de l'utilisateur à l'application.
J'aimerai conserver les informations de l'utilisateur pour :
Afficher le nom de l'utilisateur à partir du layout
Utiliser ses informations pour mettre à jour le champ 'modifier par' de plusieurs table.

Code du plugin

Code:

class Soltom_Controller_Plugin_Authentication extends Zend_Controller_Plugin_Abstract
{
    public function preDispatch()
    {
        $auth = Zend_Auth::getInstance();
        if(! $auth->hasIdentity()
           AND $this->_request->getControllerName() != 'authentication' 
           AND $this->_request->getActionName() != 'login')
        {
            
            $this->getResponse()->setRedirect('/authentication/login');
        }
        
    }

}

Code du controller personnaliser

Code:

class Soltom_Controller_Action extends Zend_Controller_Action
{

    protected $_formDefaultAction;
    protected $_formClassName;
    protected $_mapperClassName;
    protected $_authentication;
    
    public function init()
    {
        $this->_authentication = Zend_Auth::getInstance()->getStorage()->read();
        $this->view->auth = $this->_authentication;
    }

Code d'un controller

Code:

class PersonnelController extends Soltom_Controller_Action 
{

    public function init()
    {
        /* Initialize action controller here */
        $this->_formDefaultAction = '/personnel/save';
        $this->_formClassName = 'Application_Form_Personnel';
        $this->_mapperClassName = 'Application_Model_PersonnelMapper';
    }

}

Dans le layout

Code:

...
<h6>Session de : <?php echo $this->escape($this->auth->login); ?></h6>
...

Message d'erreur :

Code:

...
Notice: Trying to get property of non-object in /usr/local/zend/apache2/htdocs/soltom/application/layouts/scripts/layout.phtml on line 11

Par contre si je fait un Zend_auth::getInstance() dans le layout et que je récupère les infos, je peux les afficher.

Il s'agit certainement d'un ordre d'initialisation ou similaire mais là je sèche un peu.

Merci pour votre aide.

JiBe

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