Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 08-07-2009 16:26:32

ilyas09
Membre
Date d'inscription: 02-07-2009
Messages: 29

modifier les informations d'un utilisateur identifié

Autre chose svp. J'ai un utilisateur connecté et il peut modifier certaines de ses informations. Mais les changements effectuées ne seront visibles à l'utilisateur que pour la prochaine identification.
Bien sûre j'ai le code :
---------------------------------------------
// setup Zend_Auth adapter for a database table
Zend_Loader::loadClass('Zend_Auth_Adapter_DbTable');
$dbAdapter = Zend_Registry::get('dbAdapter');
$authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
$authAdapter->setTableName('users');
$authAdapter->setIdentityColumn('username');
$authAdapter->setCredentialColumn('password');
// Set the input credential values to authenticate against
$authAdapter->setIdentity($username);
$authAdapter->setCredential($password);
// do the authentication
$auth = Zend_Auth::getInstance();
$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);
------------------------------------------
Merci pour votre aide. et bonne journée.

Hors ligne

 

#2 08-07-2009 17:12:05

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: modifier les informations d'un utilisateur identifié

tu peux modifier dynamiquement ton user
dans mon cas mon utilisateur lorsqu'il s'est connecté, peut choisir un role parmis tous ceux auquel il a droit.
une fois le rôle choisit je l'ajoute à l'utilisateur

Code:

        $auth = Zend_Auth::getInstance();
        $data = $auth->getIdentity();
        $data->profile = $newRole;
        $auth->getStorage()->write($data);

tu peux donc mettre à jour les différents champs de ton utilisateur en cour de route
A+JYT

Hors ligne

 

#3 09-07-2009 09:13:51

itecman
Membre
Lieu: Orléans
Date d'inscription: 03-07-2009
Messages: 57

Re: modifier les informations d'un utilisateur identifié

Bonjour,

Je suis un peu sur la meme partie pour mon application, c'est à dire l'auth via une table. Par contre pour une "bonne" pratique où mettez vous cette partie d'authentification ? j'avais penser au bootstrap mais il ne me semble pas que ce soit la bonne idée, du coup je l'ai mis dans mon "loginController" action "login".

Par contre depuis le bootstrap j'essayais de sauver la connexion à la base dans le registre mais je n'y avait pas accès dans les autres controleur, la aussi je ne sais pas pourquoi.

PS : ilyas09 je me suis permis de parler de mon problème car le tien est résolu par sekaijin et qu'il y a un lien wink

-- itecman


-- itecman smile

ZF 1.8.4 - Zend Server CE

Hors ligne

 

#4 09-07-2009 11:02:44

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: modifier les informations d'un utilisateur identifié

j'ai un module login dédié à l'authentification (réutilisable d'apli en appli) il contient un contrôleur auth

qui possède les méthodes

Code:

indexAction
logoutAction
showLoginAction
autoLoginAction
checkLoginAction
loginAction
showRolesAction
checkRoleAction
getpwdAction
sendpwdAction
newpwdAction
checkPwdAction
setpwdAction

pour la base c'est dans le bootstrap

Code:

            if ($config->get($parameters->fast->db)) {
                $params = $config->get($parameters->fast->db)->toArray();
                Zend_Loader::loadClass('Zend_Db_Table');

                // connexion
                $dbAdapter = Zend_Db::factory($parameters->fast->db, $params);
                Zend_Db_Table::setDefaultAdapter($dbAdapter);
                Zend_Registry::set('dbAdapter', $dbAdapter);
            }

A+JYT

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