【问题标题】:How do I troubleshoot a CakePHP application stuck in a redirect loop?如何对卡在重定向循环中的 CakePHP 应用程序进行故障排除?
【发布时间】:2010-10-23 01:29:57
【问题描述】:

我有一个陷入重定向循环的 CakePHP 站点。我已经删除了所有执行重定向的代码,并且我已经关闭了 Auth 对象上的自动重定向。

当我退出网站时发生这种情况,即使在删除所有 cookie 并尝试加载主页后仍然存在。索引操作位于$this->Auth->allow

我不应该,它一直试图将我重定向到 /users/login 然后重定向循环。登录操作也在允许列表中

有人知道是什么原因造成的吗?

【问题讨论】:

  • 这可能是 NeutrinoCMS 吗?
  • 您的用户/登录功能中是否有任何自定义代码可以重定向? 之前的控制器中是否存在可能导致重定向的内容?
  • 不,没有运行任何 CMS
  • 嗯..因为我们对您的代码一无所知,并且您说您已删除所有重定向,您是否检查过您的 .htaccess 文件?您是否使用 FireBug 检查了响应? Apache 日志?
  • parent::beforeFilter();

标签: php cakephp redirect


【解决方案1】:

我最近遇到了这个问题,我不知道为什么,但是当我更改时它已修复(在我的 AppController beforeFilter() 方法中):

$this->Auth->allow('*');

$this->Auth->allow();

当然,在我随后的控制器中,我否认了适当的操作。

【讨论】:

    【解决方案2】:

    好吧,在我试图访问的情况下,这可能发生的原因有很多

    cakeapplication/用户/添加

    结果我失踪了

    'add'=>'*',
    

    在 usersController.php 的权限数组中

    【讨论】:

      【解决方案3】:

      如果您添加扩展 Component 而不是 Object 的自定义组件,CakePHP 1.3 也会出现这种情况。

      【讨论】:

      • 非常感谢,如果可以的话,我会投 1000 票,我在这件事上卡了几个小时,上帝保佑你 :)
      【解决方案4】:

      我遇到了同样的问题,当我重新启动 mySql 服务时,重定向停止了。因此,请将其添加到您要检查的事项列表中。

      【讨论】:

        【解决方案5】:

        嘿,有时,如果你的数据库连接错误,,应用程序将尝试连接到 mysql,并且将处于循环状态。 所以,看看数据库配置是否正确。

        再见。

        【讨论】:

          【解决方案6】:

          您的 <cake>/app/app_controller 应该有一个 beforeFilter() 方法,其中包含 Auth 组件的所有行为。其中一种行为是当用户未登录时发送到哪里。

          你会寻找类似的东西:

          // If cake should redirect automatically or you will do it in the User.login()
          $this->Auth->autoRedirect = true; 
          // And if the autoRedirect is true, where to redirect
          $this->Auth->loginRedirect = '/user/login';
          

          祝你好运

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2021-02-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多