CakePHP Auth comment permettre contrôleur spécifique et des actions
J'ai un "Postes" et "Utilisateurs" du contrôleur. J'utilise le Composant Auth et je veux que tous les utilisateurs peuvent visiter le "Post.index", mais seuls les utilisateurs enregistrés peuvent visiter "de l'Utilisateur.index".
Dans mon app_controller.php j'ai cette
$this->Auth->allow('signup', 'confirm', 'index');
mais avec tous les utilisateurs peuvent visiter le post.de l'index et de l'utilisateur.index. Comment puis-je spécifier un Contrôleur de permettre à méthode?
Cela n'a pas fonctionné pour moi:
$this->Auth->allow('signup', 'confirm', 'Post.index');
mise à jour
J'ai enlevé "index" de la app_controller.php et, à la place de la méthode beforeFilter dans le poste de contrôleur:
function beforeFilter()
{
parent::beforeFilter();
$this->Auth->allow('index');
}
J'ai également définir une variable "loggedIn" dans app_controller, sans appel "parent::beforeFilter();" j'ai eu une "undefined variable" avis.
thx sibidiba
OriginalL'auteur Christian Strang | 2010-05-08
Vous devez vous connecter pour publier un commentaire.
La période ne fonctionnera pas. Vous pouvez essayer de " /" à la place. Si cela échoue, vous devez définir
$this->Auth->allow('index')
dans PostController et UserController de::beforeFilter()
individuellement. N'oubliez pas d'appeler parent::beforeFilter().OriginalL'auteur sibidiba
J'utilise CakePHP 2.x. La barre oblique astuce ne fonctionne pas.
Si vous souhaitez autoriser l'accès de l'utilisateur "myController.myAction" sans connexion, vous devez ajouter beforeFilter() dans myController.php au lieu de AppController.php
Voici le code à ajouter dans le myController.php:
OriginalL'auteur crab
Dépend de la version que vous travaillez. Si c'est cakephp 2.x, placez ce code dans le contrôleur de l'action que vous souhaitez donner l'accès sans connexion. Comme votre question, vous devez mettre ce code à des Postes de contrôleur:
allow(array('acction you want to allow'))
au lieuallow('acction you want to allow')
OriginalL'auteur hoai pham thanh
Pour Cakephp 2.x, il existe plusieurs méthodes (selon la version de cakephp).
De la documentation (http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html):
OriginalL'auteur Britc
C'est un problème commun à CakePHP développeur auth permettre à des actions spécifiques d'un contrôleur spécifique
https://blog.sohelrana.me/cakephp-auth-allow-specific-actions-specific-controllers/
OriginalL'auteur Sohel Rana
À gâteau 3.x vous pouvez utiliser au-dessous des lignes de code pour autoriser toutes les actions.
OriginalL'auteur daudichya
$this->nom renvoie régulateur de courant demandé.
essayer dans AppController::beforeFilter()
Désolé, mon anglais n'est pas bon
OriginalL'auteur Wallace Maxters
Pour CakePHP 3.* pour permettre à des méthodes spécifiques dans le contrôleur spécifique
OriginalL'auteur Marwan Salim