Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je travaille depuis peu avec le ZF
Dans une vue, j'utilise une aide de vue Action.
echo $this->action('info', 'comment', null, array('articleID' => $article->arti_id));
Le helper appelle bien la classe 'CommentController' et la méthode 'infoAction'. Dans cette méthode, je récupère le paramètre 'articleID' et je commence le traitement avec mon modèle. Pour finir, j'effectue le rendu de ma vue partagée.
public function infoAction() { $articleID = $this->getRequest()->getParam('articleID'); // Working with model // ..... $this->renderScript('/View/Script/DefaultComment.phtml'); }
Tout cela fonctionne bien mais je souhaiterais que ce controller ne soit pas accessible ou que le rendu de la vue ne se fasse pas, si l'utilisateur saisi une URL du type domaine.com/comment/info/articleID=1
Comment puis-je faire cela ?
Merci d'avance
Hors ligne
Quand tu génére ton URL avec le helper de vue, génère un jeton que tu stocke en session et que tu met dans ton URL.
Dans ton action, tu récupère ce jeton et tu vérifies qu'il correspond à celui stocké en session.
Hors ligne
Intéressant çà peut être une façon de faire...rien d'autres n'est prévu au niveau du framework même pour gérer ce cas ?
Hors ligne
Pour protéger des URL via des méthodes GET je ne vois pas non :s.
Hors ligne
Je ne crois pas qu'il y ai d'autres solutions!
Hors ligne
Au final j'ai créer un Helper de vue plutôt qu'une action.
Je pense que ce choix est plus logique. Ainsi je peux encapsuler tout mon code dans mon Helper et rendre une vue au besoin. Le code dans les controlleurs doit resté publique et visible (à mon sens).
Merci à vous deux
Hors ligne
Pages: 1