CakePHP 2.1 - Objet d'autorisation personnalisé non chargé / exécuté
-
12-11-2019 - |
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?
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).