Bonjour à tous,

Je viens de passer sur Cake 3 et ai un petit souci... J'ai suivi les explications pour créer mon propre objet "Authorize" ici : http://book.cakephp.org/3.0/en/controllers/components/authentication.html#creating-custom-authorize-objects

Dans la méthode initialize() de mon AppController, j'ai ajouté :

  $this->loadComponent('Auth', ['authorize' => ['Custom']]);

J'ai créé une classe CustomAuthorize sous src/Auth/CustomAuthorize.php, le contenu est le suivant :

namespace App\Auth;
use Cake\Auth\BaseAuthorize;
use Cake\Network\Request;

class CustomAuthorize extends BaseAuthorize {
    public function authorize($user, Request $request) {
        return true;
    }
}

Le résultat attendu ici (à ce que j'ai compris) est que toutes les pages soient accessibles. Visiblement ça ne fonctionne pas, je suis toujours redirigé vers la page de login.

Des idées :-) ?

Merci d'avance et bonne journée,

kinkaz

1 réponse


kinkaz
Auteur
Réponse acceptée

Solution trouvée :-)

Il fallait que la personne soit authentifiée (connectée) pour que cela passe dans le authorize.

En effet, $this->Auth->allow() est effectif que pour les personnes "publiques" (non connectées), tandis qu'Authorize est utile pour gérer les accès plus "profonds" des personnes connectées.