加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 18:19:45 所属栏目:PHP教程 来源:网络整理
导读:根据cakebook section on the Auth component,我可以使用以下用户控制器实现简单的身份验证: class UsersController extends AppController { var $name = 'Users'; var $components = array('Auth'); // Not necessary if declared in your app controller
根据cakebook section on the Auth component,我可以使用以下用户控制器实现简单的身份验证:
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());
    }
}

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

<?php
   $username = $auth->user('username');
   echo "Welcome " . $username;
?>

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

更新

Alexander’s answer正是我想要的.但是,我会添加以下内容以防其他人像我一样感到困惑.

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

$persondata = $session->read('Auth.Person');
实际上,这些信息可以从会话中轻松获得.您使用会话助手来抓取它.我相信正确的语法是:
$userdata = $session->read('Auth.User');
$username = $session->read('Auth.User.username');

编辑:

对于CakePHP 2.X,语法是:

$userdata = $this->session->read('Auth.User');
$username = $this->session->read('Auth.User.username');

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读