单击 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('*');
。它现在可以正常工作了,就像我想要的那样。
我在控制器及其相应视图(称为 '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('*');
。它现在可以正常工作了,就像我想要的那样。