代码之家  ›  专栏  ›  技术社区  ›  Jaime Montoya

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

  •  0
  • Jaime Montoya  · 技术社区  · 6 年前

    我在控制器及其相应视图(称为“反馈”)中为不需要身份验证的页面创建了一个函数,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 :

    例如,如果我们希望允许所有用户访问索引和视图 方法(但不是任何其他方法),我们将执行以下操作:

    函数beforefilter()。{ $this->auth->allow('index','view');

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

    1 回复  |  直到 6 年前
        1
  •  0
  •   Jaime Montoya    6 年前

    我通过包括 products/feedback 到文件中的异常数组 app/app_controller 因此,每当访问应用于我希望绕过身份验证的URL时,此代码将发挥神奇作用: $this->Auth->allow('*'); . 它现在按我想要的正确地为我工作。