Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-01-2010 16:30:29

m1b
Membre
Date d'inscription: 04-05-2009
Messages: 44

Acl et Auth attribution du rôle à l'utilisateur qui se connecte

Hellooooo,

Je suis en train d'essayer l'AUTH et ACL. J'ai fait un petit truc tout simple histoire de voir si le principe fonctionne. Un truc m'échappe là dedans c'est à quel moment on dit que l'utilisateur une fois logué, qu' appartient à tel ou tel groupe. (vu que les groupes sont prédéfinis)
J'ai vu des gens faire du style "$auth->role" mais la méthode n'existe pas en fait smile


Code:

// Loggue l'utilisateur
$authAdapter = new Zend_Auth_Adapter_DbTable(Zend_Db::factory($adapter,$params));
$authAdapter->setTableName('candidats')
            ->setIdentityColumn('email')
            ->setCredentialColumn('password');   
$authAdapter->setIdentity('xxxxxxxx@gmail.com')
            ->setCredential('monpass');
$result = $authAdapter->authenticate();
$auth = Zend_Auth::getInstance();
$identity = $auth->getIdentity();

// Affiche l'identité
echo $result->getIdentity() . "\n\n";

// Interdit le controlleur candidat au candidat
$acl = new Zend_Acl();
$acl->addRole(new Zend_Acl_Role('candidat'));
$acl->add(new Zend_Acl_Resource('Candidats'));
$acl->deny('candidat','Candidats');

Merciiiii encore smile

Hors ligne

 

#2 15-01-2010 10:48:18

Devether
Membre
Date d'inscription: 23-01-2009
Messages: 21

Re: Acl et Auth attribution du rôle à l'utilisateur qui se connecte

Tu peux mettre le rôle dans un champ de ta table candidats et après tu enregistres les infos de l'utilisateur venant du authAdapter dans le auth une fois ton user validé.

Ex:

Code:

$result = $auth->authenticate($authAdapter);
if ($result->isValid()) {
    $data = $authAdapter->getResultRowObject(null, 'password'); // récupère les infos du $authAdapter sans le mot de passe
    $auth->getStorage()->write($data);
}

Si dans ta table candidats ton champ s'appelle "role" alors tu pourras faire

Code:

$auth = Zend_Auth::getInstance();
$identity = $auth->getIdentity();
$identity->role;

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