【发布时间】:2018-01-05 02:29:25
【问题描述】:
我正在为 CakePHP 编写自己的无状态身份验证类。我相信我已经正确编写了类,当我手动触发 $this->Auth->identify() 方法时,它会正确登录。
我遇到了麻烦,它让我在每个页面上都登录...你知道,无状态...
在我的AppController::initialize 我有以下内容
$this->loadComponent('Auth');
$this->Auth->config('authenticate', ['CustomAuthenticate']);
$this->Auth->config('checkAuthIn', ['Controller.initialize']);
AppController::beforeRender 有
$auth_user = TableRegistry::get('Users')->getFullUser( $this-> Auth->user('id') );
我认为带有checkAuthIn 的部分将成为让这一切奏效的魔法线,但我想它不是(除非我还有其他事情需要做)。
我目前收到Fatal Error(1): Call to a memeber function user() on a non-object in [.../src/Controller/AppController.php, line 78]
链接
【问题讨论】:
-
你的
CustomAuthenticate班级可能有问题。 -
@ndm 我的身份验证类直接从
EventListenerInterface扩展而来(与基本/基本/摘要身份验证相反)。我相信我已经实现了基本身份验证和基本身份验证中的所有相同功能现在,$this->Auth->user('id')在beforeRender功能中出错。
标签: authentication cakephp cakephp-3.0