De acuerdo con la cakebook section on the Auth component, que puede implementar la autenticación sencilla utilizando el siguiente controlador de Usuarios:¿Hay alguna manera fácil de obtener datos de usuario de AuthComponent desde una vista en 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());
}
}
Me gustaría ser capaz de algo así como lo siguiente en mi punto de vista:
<?php
$username = $auth->user('username');
echo "Welcome " . $username;
?>
Es Hay una manera simple de hacer esto, o ¿tengo que sobrescribir la función de inicio de sesión y almacenar el nombre de usuario en la sesión?
actualización
Alexander's answer es exactamente lo que quería. Sin embargo, agregaré lo siguiente en caso de que alguien más se sienta confundido como yo.
Me llevó un tiempo entender que si cambia el modelo que utiliza autenticación de acceso (por ejemplo, es posible que tenga una mesa de 'personas' en lugar de 'usuarios'), entonces es necesario utilizar algo como:
$persondata = $session->read('Auth.Person');
Gracias. Esto es exactamente lo que estaba buscando. –
Debe usar esta sintaxis en CakePHP 2.x $ userdata = $ this-> session-> read ('Auth.User'); $ username = $ this-> session-> read ('Auth.User.nombredeusuario'); – vinzcelavi
Nota: al menos en Cakephp 2.7 no funciona, tiene que ser $ this-> Session .... El s en sesión debe ser mayúscula –