Bonjour j'ai un probleme concernant mon beforefilter de mon AppController
Voila j'ai mis en place un systeme d'Auth et sur mon controller PagesController j'ai beforefilter pour libérer mon action index mais sa ne marche pas !!

AppController

public $components = array(
        'Session',
        'Cookie',
        'Security',
        'Auth' => array(
            'authenticate' => array(
                'Form' => array(
                'scope' => array('User.active' => 1)
                )
            )
        )
    );

PagesController

public $name = 'Pages';
public $uses = array();
public $helpers = array('image.image'); 
public function beforeFilter(){
    parent::beforeFilter();
    $this->Auth->allow('index');
}
public function display() {
}

sa me redirige tout le temps sur l'action login
Merci de votre aides

4 réponses


yougho
Auteur
Réponse acceptée

Merci pour ta reponse mais la solutions que tu viens de me donnée ne marche pas je voudrais savoir :
pour quoi dans les autres controller sa marche

$this->Auth->allow('index');

mais dans le controller PagesController non
sa na pas un rapport avec routes.php?

La ligne

$this->Auth->allow('index');

doit être avant le parent:: ! Dans ton cas, l'instruction

parent::beforeFilter();

met fin à la methode et renvoie vers ton beforeFilter de ton AppController dans lequel l'action demandée n'est à priori pas autorisée. Inverse ces deux lignes, cela fonctionnera.

A +

Ce ne serait pas

$this->Auth->allow('display');

plutôt?

yougho
Auteur

J'ai résolus le problème j'avais une action en éléments qui n'étaient pas en allow tu coup elle bloquait tout le site