Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 16-02-2012 15:03:54

Matthieuk78
Nouveau membre
Date d'inscription: 16-02-2012
Messages: 3

Interdire l'accès direct à un controlleur/action

Bonjour,

Je travaille depuis peu avec le ZF wink
Dans une vue, j'utilise une aide de vue Action.

Code:

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.

Code:

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

 

#2 16-02-2012 15:28:50

Roromix
Membre
Date d'inscription: 05-12-2011
Messages: 55

Re: Interdire l'accès direct à un controlleur/action

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

 

#3 16-02-2012 16:04:54

Matthieuk78
Nouveau membre
Date d'inscription: 16-02-2012
Messages: 3

Re: Interdire l'accès direct à un controlleur/action

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

 

#4 16-02-2012 16:25:38

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Interdire l'accès direct à un controlleur/action

Pour protéger des URL via des méthodes GET je ne vois pas non :s.

Hors ligne

 

#5 16-02-2012 16:35:01

Roromix
Membre
Date d'inscription: 05-12-2011
Messages: 55

Re: Interdire l'accès direct à un controlleur/action

Je ne crois pas qu'il y ai d'autres solutions! big_smile

Hors ligne

 

#6 16-02-2012 18:23:14

Matthieuk78
Nouveau membre
Date d'inscription: 16-02-2012
Messages: 3

Re: Interdire l'accès direct à un controlleur/action

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

 

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