Cakephp - récupère l'identifiant de l'utilisateur dans le contrôleur lors de l'utilisation de l'authentification
Il semble comme un processus en deux étapes pour l'obtenir,
$u = $this->Auth->user();
$uid = $u['User']['id'];
N'est-il pas une variable quelque part une fois qu'un utilisateur est connecté? (Désolé pour la question stupide.)
source d'informationauteur Owen | 2010-07-01
Vous devez vous connecter pour publier un commentaire.
Je pense que vous pouvez faire
$uid = $this->Auth->user('id');
- vérifier l'api: http://api.cakephp.org/class/auth-component#method-AuthComponentuserDans CakePHP, il y a plusieurs façons d'obtenir l'id utilisateur de la session, voici quelques exemples
Pour obtenir le session id d'utilisateur dans le controller:
Pour obtenir le session id d'utilisateur dans une liste, utilisez: ( Non Recommandé, j'aurais mis cela dans le contrôleur)
Pour obtenir le session id utilisateur à l'intérieur d'un modèle, utilisez: (Non Recommandé, mais une solution)
Je ne recommande pas la ci-dessus pour obtenir la session utilisateur dans le modèle, j'aimerais passer par le contrôleur, utilisez:
Vous pouvez également obtenir de l'utilisateur de la session id par pur php, utilisation: (Malgré l'aide de Gâteau, vous devriez coller avec les conventions)
Et il ya des approches plus, c'est juste un peu...
Essayez ceci:
Vous pouvez également obtenir les détails de l'utilisateur de la session si l'Authentification de classe n'est pas disponible pour vous.
CakePhp 2.x:
N'importe où:
À l'intérieur d'un contrôleur:
Cela peut être d'aucun usage, mais j'ai eu une cause d'erreur par
$this->Auth->user();
Ce problème a été résolu à l'aide de ce lieu. Je ne suis pas sûr de la route de la question, mais il est venu lors de l'appel d'une fonction à partir d'un Modèle dans la même action que j'ai utilisé$this->Auth->user();
À l'aide de
AuthComponent::user('id')
résolu les problèmes.