如何在布局中访问登录的用户数据.(CakePHP 3)

Ali*_*eza 4 authentication layout cakephp-3.0

我有一个在cakephp 3中编写的Web应用程序.

我想要一个显示登录用户名和姓的布局.喜欢facebook主页上的内容.您可以单击并转到您的页面.我想在每个页面都有这个功能,所以我决定使用布局.

我的Users桌子就像:

| id | 用户名 | 密码 | 电子邮件 | first_name | last_name | 创建 | 修改了 |

我像这样使用Authentication Component:

$this->loadComponent('Auth', [
        'loginRedirect' => [
            'controller' => 'Pages',
            'action' => 'display'
        ],
        'logoutRedirect' => [
            'controller' => 'Users',
            'action' => 'login'
        ],
        'authError' => 'Authentication Error'
    ]);
Run Code Online (Sandbox Code Playgroud)

如何在布局中加载用户名和姓?

Ali*_*eza 9

你可以用它来做Session.喜欢:

$user = "";
$loguser = $this->Session->read('Auth.User');
if(!empty($loguser)){
    $user = $loguser['first_name']." ".$loguser['last_name'];
}
Run Code Online (Sandbox Code Playgroud)

更新(2015年8月23日):

最近,cakephp表示不推荐使用SessionHelper,request->session()而应该使用.

$loguser = $this->request->session()->read('Auth.User');
if(!$loguser) {
    $user = $loguser['first_name'].' '.$loguser['last_name'];
}
Run Code Online (Sandbox Code Playgroud)