ich habe bei meiner CakePHP-Plattform (1.2.5, nutze Auth-Componente zum Login / Logout) das Problem, dass meine User sporadisch ausgeloggt werden ohne nachvollziehbaren Grund. Am Session-Timeout liegt es nicht - es passiert wie gesagt völlig sporadisch.
Das Problem habe ich sowohl bei meiner lokalen Installation mit XAMPP als auch auf meinem Webserver (gehostet bei Eleven2). Mal wird man sporadisch nach 10 Minuten ausgeloggt wenn man wieder eine Seite aufrufen will, mal kann man 1 1/2 Stunden sich durchklicken ohne ausgeloggt zu werden.
Das einzige, was bei jedem Seitenaufruf aufgerufen wird ist ein Element, das ständig einen "requestAction" Aufruf ausführt in meinem UsersController. Nämlich die Methode "userIsLoggedIn" wo dann per Auth-Componente geschaut wird, ob der momentane User auch eingeloggt ist. Also im Element steht dann:
- Code: Alles auswählen
- $loggedIn = $this->requestAction('users/loggedIn');
Und im UsersController:
- Code: Alles auswählen
- function loggedIn()
{
if ($this->Auth->user('username') != null)
{
return true;
}
else
{
return false;
}
}
Von meinem Webhoster ist die session_gc_maxlifetime auf 1440 gesetzt. Aber auch wenn ich länger eingeloggt und inaktiv bin, macht das nix - an der liegts also nicht nach meinen Beobachtungen. In meiner core.php habe ich folgende Einstellungen
Configure::write('Cache.disable', true);
Configure::write('Session.save', 'cake');
Configure::write('Session.cookie', 'CAKEPHP');
Configure::write('Session.timeout', '7200');
Configure::write('Session.start', true);
Configure::write('Session.checkAgent', true);
Configure::write('Security.level', 'medium');
->Liegt das am requestAction Aufruf?