Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous,
Je suis stagiaire dans une entreprise et je suis en charge de la migration du framework Zend en version 1.6.
J'ai mis en place Zend_Auth et Zend_Acl mais je rencontre un problème sur ce dernier.
J'aurais voulu savoir s'il est possible d'activé les ACL qu'une fois l'utilisateur authentifié ? Car actuellement, j'ai un MyPluginAuth / preDispatch() qui vérifie les ACL à chaque requête envoyée à un controller. Or, un utilisateur qui n'est pas connecté n'a pas de droits. Et par conséquent il ne peut accéder à AuthController.
Voici le code de ma fonction preDispatch :
public function preDispatch(Zend_Controller_Request_Abstract $request) { if ($this->_auth->hasIdentity()) { $PER_DROITS = $_SESSION['USER']['informations']->PER_DROITS; // Recuperer içi le role de l'utilisateur connecté if($PER_DROITS == 1){ $_SESSION['acl']->role = 'user'; }elseif ($PER_DROITS == 405) $_SESSION['acl']->role = 'administrateur'; } $controller = $request->controller; $action = $request->action; $module = $request->module; $resource = $controller; if (!$this->_acl->has($resource)) $resource = 'Auth'; if (!$this->_acl->isAllowed($_SESSION['acl']->role, $resource, $action)) { //n'est pas loggé if (!$this->_auth->hasIdentity()) { $module = FAIL_AUTH_MODULE; $controller = FAIL_AUTH_CONTROLLER; $action = FAIL_AUTH_ACTION; //n'est pas autorisé } else { $module = 'default'; $controller = 'Index'; $action = 'index'; } } $request->setModuleName($module); $request->setControllerName($controller); $request->setActionName($action); }
Est-ce que quelqu'un aurait une solution ou une indication sur la marche à suivre ?
Je vous remercie de m'avoir consacré du temps à me lire,
Nikko
Dernière modification par Nikko (11-02-2009 09:09:16)
Hors ligne
Tu peux contrôler si ton utilisateur est connecté et s'il ne l'est pas tu lui met un rôle "visiteur" auquel tu attribue les droits sur Auth.
Hors ligne
Tout d'abord, je vous remercie tous les deux pour m'avoir répondu.
J'ai pris note de votre proposition et je vous avouerais que j'y ai déjà pensé. Cependant, j'ai des contraintes de développement qui m'empêchent d'utiliser un statut 'visiteur' dans l'application. Mon tuteur ne veut pas faire ainsi.
Est-ce que vous auriez autre chose à me proposer ?
Merci encore de m'avoir consacré du temps,
Nikko
Hors ligne
Après discussion avec mon tuteur, j'ai réussi à le convaincre d'utiliser un statut visiteur. JE vous remercie de m'avoir aider.
Cordialement,
Nikko
Hors ligne
Pages: 1