调试浏览器重定向循环

jus*_*wes 6 php debugging cakephp

我正在使用CakePHP与Auth和ACL组件.我的页面加载非注册用户,但如果我尝试以注册用户身份登录,我会在浏览器中获得无限重定向循环.

我确信这是某种权限问题,但即使对拥有所有权限的用户也存在问题.防止这种行为的唯一方法是在我的AppController的beforeFilter方法中允许'*'.

调试此类问题的最佳方法是什么?

谢谢!

dec*_*eze 10

出于调试目的,请尝试在您的第一件事中插入AppController::beforeFilter():

$this->log("Here: {$this->here}, coming from: " . $this->referer(), LOG_DEBUG);
Run Code Online (Sandbox Code Playgroud)

这将写入登录/app/tmp/logs/debug.log.您还可以将其与重写以下内容中的重定向方法结合使用AppController:

function redirect($url, $status = null, $exit = true) {
    $trace = debug_backtrace();
    $this->log("Redirecting to: " . Router::url($url) . ", initiated in {$trace[1]['file']} on line {$trace[1]['line']}", LOG_DEBUG);
    parent::redirect($url, $status, $exit);
}
Run Code Online (Sandbox Code Playgroud)