Frage

Ich habe eine CakePHP Website bekommt, das in einer Umleitung Schleife steckt. Ich habe jedes Stück Code entfernt, die eine Umleitung tut und ich habe autoRedirect auf dem Objekt Auth ausgeschaltet.

Das Problem trat auf, als ich aus der Site angemeldet und wird beibehalten, selbst nachdem alle Cookies zu löschen und nur versuchen, die Homepage zu laden. Der Index Aktion ist in $this->Auth->allow.

Ich sollte nicht, es versucht immer wieder zu / Benutzer / Login zu umleiten mich, die dann Schleifen umleiten. Die Login-Aktion ist auch in der erlaubten Liste

Hat jemand irgendwelche Ideen, was dieses verursachen könnte?

War es hilfreich?

Lösung

Ihre <cake>/app/app_controller sollten eine beforeFilter() Methode mit allen Verhaltensweisen von Auth Komponente. Einer dieser Verhaltensweisen ist, wo zu senden, wenn ein Benutzer nicht angemeldet ist.

Sie werden versuchen, für so etwas wie:

// 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';

G'luck

Andere Tipps

Dies geschieht auch in CakePHP 1.3, wenn Sie eine benutzerdefinierte Komponente hinzufügen, die Komponente statt Object erweitert.

hey manchmal, wenn Sie Db-Verbindung falsch sind ,,, wird die Anwendung auf die mysql verbinden versuchen, und wird in Schleife sein. Also, schaut Allways, wenn die Datenbank-Konfigurations recht.

Auf Wiedersehen.

Ich hatte das gleiche Problem genau, und wenn ich den MySQL-Dienst neu gestartet die Umleitung gestoppt. So fügen Sie diese zu Ihrer Liste der Dinge zu überprüfen.

Nun, es scheint, dass es eine Reihe von Gründen, warum dies in meinem Fall passieren könnte, war ich zugreifen möchten

cakeapplication / users / add

und es kam heraus, dass ich fehlte

'add'=>'*',

in der Berechtigungs Array in usersController.php

Vor kurzem hatte ich dieses Problem und ich weiß nicht, warum, aber es wurde festgelegt, wenn ich geändert (in meinem AppController before () -Methode):

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

$this->Auth->allow();

Natürlich dann in meinem späteren Controller leugne ich die approriate Aktionen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top