Problème composant Auth

Par kal-el, il y a 14 ans


Bonjour à tous,
je viens de créer une partie administration sur mon site. Pour ce faire, j'ai suivi le tuto présent sur le site de CakePHP.
Tout fonctionne bien, mise à part que maintenant, à chaque fois que je veux afficher le site via sont url de base (www.monsite.com), CakePHP, me renvoi toujours vers www.monsite.com/users/login
Impossible d'accéder à la partie publique autrement que par : www.monsite.com/users

Des idées?

Si je ne suis pas assez clair, dites le moi et je posterai mes sources

Merci d'avance

7 réponses

djtec, il y a 14 ans

As tu autorise l'affichage de toute les vue dans ton appcontroller?

kal-el, il y a 14 ans

Je l'ai fait au départ avec :

<?php
// Code de AppController
//...
function beforeFilter(){
    $this->Auth->allow('*');
}
//...
?>

et ça marche bien. Mais le problème, c'est que du coup les autres actions du genre add , edit...etc...de la partie users ne sont donc plus sécurisé. Ou peut être qu'il y a un moyen de sécurisé l'accès à ces actions?

Merci

kal-el, il y a 14 ans

C'est bon, je viens de résoudre mon problème. Avant dans le controller Users, je faisait ça :

<?php
// UsersController
public function beforeFilter() {
    parent::beforeFilter();
    $this->Auth->allow('login');
}
?>

J'ai simplement retiré la première ligne pour vérouillé les différents actions du controller sans prendre en compte AppController :

<?php
// UsersController
public function beforeFilter() {
    $this->Auth->allow('login');
}
?>
djtec, il y a 14 ans

Après dans chaque contrôler tu peux dire à quelle vue tu n'autorise pas l'accès si l'utilisateur n'est pas connecté.

Par contre je sais plus ce qu'il faut mettre exactement mais c'est dans la fonction beforeFilter regarde dans la doc ça doit être mit.

kal-el, il y a 14 ans

Merci djtec

djtec, il y a 14 ans

J'ai trouve il te suffit de mettre:

$this->Auth->deny('add', 'edit');
// ou
$this->Auth->deny(array('add', 'edit'));
kal-el, il y a 14 ans

ça marche nickel...Je te remercie encore a+