我需要完全禁用对我的应用程序的CSRF令牌的控制.我试着用:
public function beforeFilter(Event $event)
{
$this->getEventManager()->off($this->Csrf);
}
Run Code Online (Sandbox Code Playgroud)
在AppController但它似乎不起作用.手动链接:禁用特定操作的CSRF组件
我做了很多测试,阅读了很多帖子,但我无法解决.
TY.
@omerowitz这是我在过滤操作之前的AppController:
public function beforeFilter(Event $event)
{
$this->getEventManager()->off($this->Security);
if($this->request->is('post')) {
$this->getEventManager()->off($this->Csrf);
}
$this->Auth->allow(['index', 'view', 'display']);
}
Run Code Online (Sandbox Code Playgroud)
但它仍然无效,我仍然有错误'CSRF令牌不匹配'.当我与邮递员提出请求时
解:
我删除了这个:
->add(new CsrfProtectionMiddleware([
'httpOnly' => true
]));
Run Code Online (Sandbox Code Playgroud)
来自Application.php.为什么手册中没有说明这一点?
太棒了!
| 归档时间: |
|
| 查看次数: |
2143 次 |
| 最近记录: |