我正在构建一个Cakephp 3x应用程序。基本上,我有一些用于注册,密码恢复和其他功能的帖子。将AuthComponent添加到系统后,我的发布操作被拒绝为未授权。
我已将整个控制器添加为授权人,但我的发帖请求仍被拒绝:
UITabBarController
这样做,我可以通过GET访问操作,但是在调用POST时,AuthComponent会自动重定向到未经授权的重定向。目前唯一授权的表单是登录帖子表单。
这是我的AuthComponent的AppController.php的配置:
public function beforeFilter(Event $event) {
parent::beforeFilter($event);
$this->Auth->allow();
}
其中一种形式的示例:
$this->loadComponent('Auth', [
'loginRedirect' => [
'controller' => 'User',
'action' => 'panel'
],
'logoutRedirect' => [
'controller' => 'Checkout',
'action' => 'index'
],
'loginAction' => [
'controller' => 'Checkout',
'action' => 'index'
],
]);
This是我的请求遵循的流程。
编辑:如果我以GET身份通过url访问我的帖子操作,则它们会加载并且不会重定向我。
编辑²::我使用post ajax请求的请求似乎正常运行。
我错过了什么吗?有什么建议吗?
我已经解决了这个问题,我不确定这对某人是否有用,因为这是我犯下的非常简单的错误,但是在这里:
我的登录面板表单是我所有页面中的一个元素。我正在使用cakephp html助手来创建表单( $ this-> Form-> create()),但是我忘记了关闭表单。所以基本上,我的登录表单总是被调用,因为它是所有页面中的第一个表单。基本上,如果您使用cakephp表单助手,请务必记住要关闭表单。希望将来对其他人有用。
感谢所有关注它的人。