单击 CakePHP 1.3 中的提交按钮后如何不需要身份验证

How to not require authentication after clicking submit button in CakePHP 1.3

我在控制器及其相应视图(称为 'feedback')中为不需要身份验证的页面创建了一个函数,URL 如下所示:

http://[DOMAIN]/products/feedback/11351/6673/24678/2/rt6a513gr45255hrt563443h2463hd63

URL 无需身份验证即可工作,一切都很完美。 URL 包含访问者需要填写的表格,然后该数据直接进入数据库。问题是提交表单时,如果访问者尚未登录,则需要进行身份验证,并且流程会中断,表单中的数据永远不会发送到数据库。我想要的是 URL 不需要身份验证,永远不需要,不需要在加载页面和表单时(这部分已经可以正常工作),也不需要在提交表单时(这是我需要修复的,因为当单击提交按钮,立即需要身份验证。

更新 1:

我已经尝试在 `app/controllers/products_controller.php:

中包含以下代码
function beforeFilter(){
    ........................
    ........................
    ........................
    parent::beforeFilter();
    $this->Auth->allow('feedback');
}

我的想法是从身份验证要求中排除 feedback 操作。我根据在 https://book.cakephp.org/1.3/en/The-Manual/Core-Components/Authentication.html:

找到的文档进行了尝试

For example if we want to allow all users access to the index and view methods ( but not any other), we would do the following:

function beforeFilter() { $this->Auth->allow('index','view'); }

我发现了相同的建议 CakePHP Bypass Auth component 绕过 CakePHP 中的 Auth 组件。

我通过将 products/feedback 包含到文件 app/app_controller 中的异常数组来实现它,这样每当访问应用于我希望绕过身份验证的 URL 时,这代码将发挥作用:$this->Auth->allow('*');。它现在可以正常工作了,就像我想要的那样。