Secondo il cakebook section on the Auth component, posso implementare l'autenticazione semplice utilizzando il seguente controller Utenti:C'è un modo semplice per ottenere dati utente AuthComponent da una vista in 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());
}
}
mi piacerebbe essere in grado di qualcosa di simile a quanto segue nel mio punto di vista:
<?php
$username = $auth->user('username');
echo "Welcome " . $username;
?>
Is c'è un modo semplice per farlo, o devo sovrascrivere la funzione di login e memorizzare il nome utente per la sessione?
Aggiornamento
Alexander's answer è esattamente quello che volevo. Tuttavia, aggiungerò quanto segue nel caso in cui qualcun altro si confonda come ho fatto io.
Mi c'è voluto un po 'per capire che se si modifica il modello che utilizza Auth (ad esempio, si potrebbe avere una tabella di 'persone' invece di 'utenti'), allora avete bisogno di usare qualcosa come:
$persondata = $session->read('Auth.Person');
Grazie. Questo e 'esattamente quello che stavo cercando. –
Si dovrebbe usare questa sintassi in CakePHP 2.x $ userdata = $ this-> session-> read ('Auth.User'); $ username = $ this-> session-> read ('Auth.User.username'); – vinzcelavi
Nota: almeno in Cakephp 2.7 non funziona, deve essere $ this-> Session .... Gli s in sessione devono essere maiuscoli –