由于某种原因,CakePHP Auth组件不会让我退出。
奇怪的是这个错误最近才发生,我不记得在我的CakePHP 3应用程序的Auth组件上改变了什么。
我通过以下方式设置Auth组件:
$this->loadComponent('Auth', [
'authenticate' => [
'loginAction' => [
'controller' => 'User',
'action' => 'login'
],
'Form' => [
'finder' => 'auth',
'fields' => ['username' => 'email', 'password' => 'password']
],
'storage' => 'Session'
]
]);
$this->Auth->allow();
登录按预期工作,但当我使用$this->Auth->logout()
注销时出现以下错误:
发生了一个内部的错误 错误:未找到身份验证适配器“loginAction”。
然后,当我从Auth组件中完全删除数组'loginAction'
时,错误更改为错误:未找到身份验证适配器“storage”。
它似乎工作,当我加载组件没有任何参数:
$this->loadComponent('Auth')
对于登录,我需要如上所述设置Auth组件。它的类似CakePHP在它的文档中做到了:http://book.cakephp.org/3.0/en/controllers/components/authentication.html#configuring-authentication-handlers
任何想法为什么CakePHP不会让我突然退出?
天啊!我无法相信我浪费了所有这些时间......
Auth params搞砸了,这应该是这样的:
$this->loadComponent('Auth', [
'loginAction' => [
'controller' => 'User',
'action' => 'login'
],
'authenticate' => [
'Form' => [
'finder' => 'auth',
'fields' => ['username' => 'email', 'password' => 'password']
],
],
'storage' => 'Session'
]);