Selon le cakebook section on the Auth component, je peux mettre en œuvre l'authentification simple en utilisant le contrôleur utilisateurs suivants:Existe-t-il un moyen facile d'obtenir des données utilisateur AuthComponent à partir d'une vue dans CakePHP?
class UsersController extends AppController {
var $name = 'Users';
var $components = array('Auth'); // Not necessary if declared in your app controller
/**
* The AuthComponent provides the needed functionality
* for login, so you can leave this function blank.
*/
function login() {
}
function logout() {
$this->redirect($this->Auth->logout());
}
}
Je voudrais être en mesure de quelque chose comme ce qui suit dans mon avis:
<?php
$username = $auth->user('username');
echo "Welcome " . $username;
?>
Est existe-t-il un moyen simple de le faire, ou dois-je remplacer la fonction de connexion et stocker le nom d'utilisateur à la session?
Mise à jour
Alexander's answer est exactement ce que je voulais. Cependant, je vais ajouter ce qui suit au cas où quelqu'un d'autre serait confus comme je l'ai fait.
Il m'a fallu un certain temps pour comprendre que si vous modifiez le modèle qui utilise Auth (par exemple, vous pourriez avoir une table « personnes » au lieu des « utilisateurs »), alors vous devez utiliser quelque chose comme:
$persondata = $session->read('Auth.Person');
Merci. Ceci est exactement ce que je cherchais. –
Vous devriez utiliser cette syntaxe dans CakePHP 2.x $ userdata = $ this-> session-> read ('Auth.User'); $ username = $ this-> session-> read ('Auth.User.username'); – vinzcelavi
Note: au moins dans Cakephp 2.7 ne fonctionne pas, il doit être $ this-> Session .... Les s en session doivent être majuscules –