Bir tarayıcı Yönlendirme Döngü ayıklama

3 Cevap php

Ben Auth ve ACL bileşenleri ile CakePHP'ye kullanıyorum. Ben kayıtlı bir kullanıcı olarak oturum açmayı deneyin eğer kayıtlı olmayan kullanıcılar için gayet iyi, ama benim sayfayı yükler ben tarayıcıda sonsuz bir yeniden yönlendirme döngüsü olsun.

Ben bu izinleri sorunu bir tür, ama sorun bile her şey için izinlere sahip kullanıcılar için var olduğundan eminim. Bu davranışı önlemek için tek yolu izin vermektir '*' benim AppController en beforeFilter yöntemi.

Sorun bu tür hata ayıklamak için en iyi yolu nedir?

Teşekkürler!

3 Cevap

Hata ayıklama amaçları için, bu ilk şey takmayı deneyin AppController::beforeFilter():

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

Bu /app/tmp/logs/debug.log olarak günlüğüne yazacak. Ayrıca içinde yönlendirme yöntemi geçersiz ile birleştirmek AppController olabilir:

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);
}

Ayrıca sizin app_controller içinde Auth bileşenin ayarları üzerinde kontrol sağlamak doğru kurulum vardır.

http://book.cakephp.org/1.3/en/The-Manual/Core-Components/Authentication.html#setting-auth-component-variables

Ben açıkça hepsini tanımlamak eğilimindedir. Belki böyle bir şey üzerinden kontrol, http://www.webdevelopment2.com/cakephp-auth-component-tutorial-1/ Sadece doğru tüm düzmece belli olması.

Ben buldum başka bir şey () bazen app_controller içinde Auth kurulumunu nakavt olabilir, bazen beforeFilter, bu yüzden belki denetleyicileri sahip deneyin

parent::beforeFilter();

Lütfen app_controller en beforeFilter () yürütülmektedir emin olmak için.

Ben kontrol ederim ilk şey Kullanıcılar kontrolörün giriş yöntemidir. Doğru bir şekilde uygulandığında ise, giriş denetleyicisi rota tüm un doğrulanmış / yetkili trafik tipik olacak. Eğer halka izni verilmiş değil, ancak büyük olasılıkla sonsuz bir döngüye neden olur. Yani app_controller kontrol edin (ya Auth / ACL izinleri depolama her yerde) ve Users.login kamuya açık olduğundan emin olun.