Salut,
j'ai suivi +/- la formation CakePHP mais j'ai un souci avec les redirection login et logout,
déjà ma redirection n'est pas prises en compte, mais en plus la redirection par défault au login me redirige vers
/Dedicaces/get qui n'affiche rien puisque je m'en sert pour un élément d'une view.

Quelqu'un à t-il une idée à quoi cela est du ?

Voila mes code qui je pense peuvent être impliqués.

// Ma redirection dans le beforeFilter de l'AppController
$this->Auth->loginRedirect = array('controller'=>'dedicaces','action'=>'index','admin'=>true);
// le prefixe admin dans core.php
Configure::write('Routing.prefixes', array('admin'));
// mes routes pour redirigés les actions du controller Users
Router::connect('/admin', array('controller' => 'users', 'action' => 'login'));
Router::connect('/admin/logout', array('controller' => 'users', 'action' => 'logout'));

Merci d'avance pour les réponses, et merci à Grafikart pour tous ce qu'il fais.

(CakePHP 2.5.1 ; Component Auth avec DataSource Array et passwordHasher custom qui ne fais rien xD)

4 réponses


Romano83
Réponse acceptée

Salut, pourquoi ne mets-tu pas la redirection directement dans le Controller, ce serait peut être plus simple ?
Comme par exemnple :

if($this->Auth->login()){   
    return $this->redirect($this->Auth->loginRedirect(array('controller' => 'dedicaces', 'action' => 'index', 'admin' => true)));
}

De plus, le loginRedirect est ignoré si l'utilisateur à ce paramètre dans la session... Vérifie aussi à ce niveau là, on sait jamais ;)

nebjix
Auteur
Réponse acceptée

Salut Romano83, je pense que tu voulait dire

if($this->Auth->login()){ 
    return $this->redirect($this->Auth->redirectUrl(array('controller' => 'dedicaces', 'action' => 'index', 'admin' => true)));
    // et non loginRedirect(array(...)) qui n'existe pas
}

Mais cette solution marche très bien (avec la bonne méthod ;) ), un grand merci.
Et effectivement, le paramètre est modifié dans la session Auth>redirect à /Dedicaces/get. D'où cela peut-il venir ?

nebjix
Auteur

Pas entièrement, mais il ne me semble pas que Grafikart traite les redirection login et logout.
D'ailleurs mon logoutRedirect fonctionne.

Effectivement nebjix, je me suis planté... C'est bien redirectUrl qu'il fallait utiliser.

Par contre, pour le paramètre modifié dans la session, je n'ai aucune idée d'où ça peux venir...