Bonjour,

Je rencontre un souci avec le tutoriel Créer un portfolio.
Je suis le tuto en plusieurs étapes, car je fais cela le midi.

Le problème est que j'ai voulu m'y remettre ce midi et là j'arrive sur le site et il me répond :
_
La page n'est pas redirigée correctement

Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.
* La cause de ce problème peut être la désactivation ou le refus
des cookies.
_

J'ai vérifié, mon navigateur accepte bien les cookies. Je pense que cela vient du composant Auth, mais sans savoir comment le corriger.

J'ai qu'une autre personne avait rencontré le même problème mais la solution proposée ne fonctionne pas chez moi.

Mon fichier app_controller.php est constitué comme cela
_
<?php
class AppController extends Controller{

var $components = array("Auth", 'Session');
function beforeFilter(){
if(isset($this->Auth)){

$this->Auth->userModel = "User";
$this->Auth->fields = array ('username'=>'email', 'password'=>'password');
}
}
}
?>

Si j'ajoute dans beforeFilter la ligne suivante
$this->Auth->allow('*');_ ca fonctionne mais ce n'est plus très secure ....

Merci d'avance

3 réponses


bennap
Auteur
Réponse acceptée

Bonjour,

Merci pour le coup de main. En fait, le problème était traité dans le tuto, mais à la fin.

J'ai donc continué de dérouler le fil du tutoriel et mon problème s'est résolu de lui-même !

Encore merci

Bonsoir bennap,

Normalement ton controller principal nommé "app_controller.php" devrait ressembler à ceci :

class AppController extends Controller {

    // On charge le composant 'Auth'
    var $components = array('Auth', 'Session');

    function beforeFilter() {
        //On configure le composant 'Auth' dans la methode beforeFilter 
        $this->Auth->authError = ...
        $this->Auth->loginError = ...
        ... etc 
    }

}

Puis dans les controllers qui hérites du controller principal (AppController), tu définis les actions qui sont autorisées par le composant 'Auth' :

<?php
class SuperController extends AppController {
    function beforeFilter() {
        parent::beforeFilter();
        $this->Auth->allow('action1', '...');
    }
    function action1() {
        // Action public, tous le monde peut venir !
    }
    function action2() {
        // Action privée, l'utilisateur DOIT être connecté
    }
}

C'est plutôt basique mais ça marche comme ça, il peut y avoir quelque chose de plus optimisé, à toi de voir... bon après ça fait longtemps que je ne developpe plus avec cakePHP, en ce moment je suis plus sur symfony et codeigniter.

@+

Bonjour j'ai le même problème pourrais-tu m'indiquer ta solution ?
Tout fonctionnait hier soir et ce matin impossible d'accéder à l'application... C'est un problème au niveau du routing ? ou de la configuration du composant Auth ?