Bonjour,

Je suis actuellement en train de suivre le tutoriel de Grafikart sur la création d'un portfolio avec l'utilisation de CakePHP.

J'en suis au moment où l'on créé AppController ainsi que UsersController afin d'être redirigé sur la page de login.

Je tape donc l'url afin d'arriver sur la page categories/getCat qui me redirige sur users/login, seulement, voici le message d'erreur que j'obtiens :

class AppController extends Controller {
    var $components = array("Auth");
}
<?php

class UsersController extends AppController {

    function login() {} 
    function logout() {}

}

?>

La version de CakePHP utilisé dans le tutoriel n'étant plus la même que celle actuelle, je me suis demandé si le problème ne venait pas de là, s'il ne fallait pas utiliser une autre syntaxe, mais je n'ai pas trouvé la réponse pour le moment...

En vous remerciant d'avance !

2 réponses


Bonjour,
C'est quelle version de cakephp utilise-tu la 2x ou la 3x. Il faut que tu dit au composant Auth d'autoriser certaine actions. Car par défaut, il bloque tout les action. Vue que ton action getCat n'est pas autoriser à être disponible publiquement il va rediriger vers l'action login et vue que l'action login n'est pas autoriser lui aussi ça créer une bloucle à l'infini et ton navigateur panique, car il y a trop de redirections.

Pour autoriser certaine action pour la 2x :
Ex :

$this->Auth->allow(array('getCat','action2));

si utlise la version 3x c'est ceci :

public function initialize()
    {
        parent::initialize();
        $this->Auth->allow(['getCat','action2']);
    }

J'espère que ça ta mit sur une piste si non il y a la documentation qui peut t'aider :
http://book.cakephp.org/2.0/fr/core-libraries/components/authentication.html#

Cordialement Laka Mark

Youtaka
Auteur

Bonjour Laka Mark,

J'utilise Cake 2.3.6
J'ai utilisé la public function comme tu me l'as dis pour autoriser l'action getCat, cependant rien n'a changé :/

Cordialement