Je travaille actuellement sur l'intégration de l'authentification et de l'autorisation dans mon application CakePHP et j'ai quelques difficultés.Authentification CakePHP et le modèle Utilisateur
Tout d'abord, je n'utilise pas ACL. Ça me fait peur.
Dans mon AppController j'ai ceci:
var $components = array("Auth");
Donc, chaque fois que je veux vérifier l'utilisateur connecté, j'appelle l'un de mes contrôleurs:
$this->Auth->user();
Et je obtenir un tableau qui est l'information de ma table usrs
(ma table est appelée usrs
avec le modèle Usr
).
Le problème est que je veux souvent appeler des fonctions sur le modèle Usr
, donc je dois le faire dans mon contrôleur:
$usr = ClassRegistry::init('Usr');
$usrInfo = $this->Auth->user();
$usr->set($usrInfo);
// -- or --
$usr = ClassRegistry::init('Usr');
$usrId = $this->Auth->user('id');
$usr->id = $usrId;
Cela ne semble pas très cakey et il a été me casser les pieds puisque je sais qu'il doit y avoir un meilleur moyen. Devrais-je ajouter var $uses = array("Usr")
dans mon AppController pour ne pas avoir à utiliser ClassRegistry tout le temps? Quelle est la meilleure façon de faire cela?
Où savez-vous que vous pouvez appeler le modèle utilisateur et définir $ useTable = « usrs », ou appelez le modèle Usr et définir $ useTable = ' usr 'ou' utilisateurs ', ou n'aimez-vous pas la lettre' e '? :) – deizel
merci pour le conseil de TripAdvisor. J'ai quelques trucs de kyboard dans lesquels je travaille. ;) En tout cas, j'ai lu dans un blog que "User" est un mot réservé dans Oracle (que j'utilise maintenant pour la première fois) - le connecteur Oracle n'est pas le morceau de code le mieux testé que j'ai vu, J'ai donc pensé qu'il valait mieux éviter tout simplement la question. – nickf