有没有一种简单的方法从CakePHP中的视图中获取AuthComponent用户数据?

Hor*_*aan 7 php authentication cakephp

根据Auth组件的cakebook 部分,我可以使用以下Users控制器实现简单的身份验证:

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());
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够在我的观点中得到以下内容:

<?php
   $username = $auth->user('username');
   echo "Welcome " . $username;
?>
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以做到这一点,还是我需要覆盖登录功能并将用户名存储到会话中?

更新

亚历山大的回答正是我想要的.但是,我会添加以下内容以防其他人像我一样感到困惑.

我花了一段时间才明白,如果你改变了Auth使用的模型(例如,你可能有'人'表而不是'用户'),那么你需要使用类似的东西:

$persondata = $session->read('Auth.Person');
Run Code Online (Sandbox Code Playgroud)

Ale*_*and 12

实际上,这些信息可以从会话中轻松获得.您使用会话助手来抓取它.我相信正确的语法是:

$userdata = $session->read('Auth.User');
$username = $session->read('Auth.User.username');
Run Code Online (Sandbox Code Playgroud)

编辑:

对于CakePHP 2.X,语法是:

$userdata = $this->session->read('Auth.User');
$username = $this->session->read('Auth.User.username');
Run Code Online (Sandbox Code Playgroud)