CakePHP 3 Auth注销 - 错误:未找到身份验证适配器“loginAction”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CakePHP 3 Auth注销 - 错误:未找到身份验证适配器“loginAction”相关的知识,希望对你有一定的参考价值。
由于某种原因,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'
]);
以上是关于CakePHP 3 Auth注销 - 错误:未找到身份验证适配器“loginAction”的主要内容,如果未能解决你的问题,请参考以下文章
注销时flutter_facebook_auth插件未清除数据