Il y a beaucoup de messages liés à ce que je demande, mais après de longues recherches, je n'ai pas trouvé ce que je cherchais, je m'en excuse existe quelque part. Mon objectif - TOUTES les demandes envoyées à mon application Zend doivent passer par un plugin preDispatch, puis passer à un contrôleur d'authentification personnalisé qui décidera si les informations d'authentification existantes sont suffisantes pour l'opération demandée. 'Suffisant' dépend de la logique de l'application, donc pourquoi je veux le faire au niveau du contrôleur + modèle. S'ils suffisent, ils envoient la requête d'origine à l'action controller + spécifiée, sinon ils font défaut à une action 'get lost'. Actuellement, j'utilise un plugin auth auth défini dans preDispatch pour vérifier simplement les informations d'identification POST'ed (si nous nous connectons), dans tous les cas le plugin stocke la requête d'origine et redirige tout le monde (auth « d ou non) à mon contrôleur auth, a-la:Les requêtes de redirection forment un contrôleur fourre-tout dans Zend Application sans bouclage pour toujours
$request->setModuleName('default')
->setControllerName('auth')
->setActionName('check')
->setParam('oreq',$request->getParams());
mon problème/question est que dans mon Auth-> vérifier l'action, comment dois-je effectuer la redirection après une décision est prise? Si j'utilise:
$this->_helper->redirector($or['action'], $oreq['controller']);
je reçois évidemment une boucle infinie que ces demandes passent par le plug-in preDispatch à nouveau. Bien sûr, je pourrais passer quelque chose avec la redirection afin que le plugin Auth ignore ces demandes, mais il s'agit clairement d'un trou de sécurité. J'avais pensé à peut-être générer et stocker un hachage md5, le stocker à la session et le passer comme un paramètre d'échappement, mais cela semble un peu sommaire.
Des idées plus intéressantes? Peut-être une méthode de redirection qui ne passe pas par la routine de prédispatch standard dans Zend App? Merci d'avance!
Vous êtes une star, merci beaucoup. – Dan
fyi, _forward circule – Dan