Question

J'utilise CakePHP 2.1 RC + Minuscule, la prochaine voie dans AppController.php:

class AppController extends Controller {

    public $components = array('Auth');

    public function beforeFilter() {
        $this->Auth->authorize = array('Tiny');
    }

}

Pour une raison quelconque, Tiny n'est pas exécuté, ce n'est donc pas des règles de LCA. Des idées, qu'est-ce qui pourrait ne pas être mal?

Était-ce utile?

La solution

L'avez-vous mis dans l'application ou le plugin d'outils? Pour ce dernier, il est censé être

$this->Auth->authorize = array('Tools.Tiny');

voir http://www.dereuromark.de/2011/12/18/tinyauth-the-fastest-and-easiest-authorisation-for-ake2/ pour plus de détails


Après avoir déterminé votre problème, je modifie ma réponse:

Cet espace réservé * (= n'importe quel) pour les «rôles» ne fait référence qu'aux utilisateurs connectés. Vous ne devez pas déclarer vos actions publiques de cette façon! Tous ceux-ci doivent être déclarés en utilisant $ this-> auth-> allow ().

La raison en est que l'authentification vient avant l'autorisation. Ainsi, sans authentification (connectée), il n'y aura jamais d'autorisation (vérifier les rôles).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top