Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Voilà, je me pose une question à laquelle je suis sur vous pourrez rapidement répondre.
J'ai suivi le tuto qui permet une approche de Zend_Auth. Ils expliquent comment faire une loginAction, logoutAction, etc...et ensuite il s'agit d'interdire l'acces à des controlleurs et leur actions en redefinissant la méthode pré dispatch
function preDispatch() { $auth = Zend_Auth::getInstance(); if (!$auth->hasIdentity()) { $this->_redirect('auth/login'); } }
Ma question est : est-ce qu'il faut ecrire ce code dans TOUS les controlleurs (dont on veut interdire l'acces si on est pas loggué), ou alors il y a un moyen (un plugin?) qui permet de ne pas avoir a écrire ce même code dans chaque controlleur....
merci.
Hors ligne
bonjour,
plusieurs solution :
- un plugin
- un "super controller" :
tu crées ton propre "super controller" :
tu défini une classe abstractController qui etends Zend_Controller_Action et tu défini ton predispatch.
Puis tous tes controller etendent abstractController au lieu d'etendre Zend_Controller_Action.
Ils héritent ainsi de la methode predispath que tu a défini dans l'abstractController.
Hors ligne
Hum, j'avais pensé a l'héritage, en effet,
Par contre la solution Plugin me plait bien, je vais tenter d'avoir de la doc à ce sujet.
Merci bien.
Hors ligne