Logout beim ändern von Yii::app()->{'name'}

Hallo zusammen

Ich bin auf ein weiteres Problem gestossen. Einige Einstellungen wie z.B. app->name werden bei meiner Applikation aus der Datenbank geladen. Wenn ich nun im Backend den Eintrag für den app->name ändere, werde ich automatisch abgemeldet und zur Login Seite geschickt.

Hat jemand eine Erklärung für dieses Verhalten?

An verschiedenen Stellen benutzt Yii eine eindeutige app-ID damit es zwischen verschiedenen Yii apps - welche möglicherweise auf dem selben Server laufen - nicht zu Komplikationen kommt.

Siehe CApplication::getId() (Klick auf show source). Wie du siehst spielt CApplication::name eine Rolle dabei.

CWebUser::getStateKeyPrefix() verwendet CApplication::getId() um einen eindeutigen Prefix zu erstellen (siehe hier). Du kannst den Prefix manuell setzen, dann sollte die CWebUser-Klasse korrekt funktionieren auch wenn CApplication::name geändert wird.

Config:




'user' => array(

   'stateKeyPrefix' => 'test',

),



Hallo Y!!

Vielen Dank für deine kompetente Antwort. Nicht nur das es jetzt funktioniert, jetzt weiss ich auch warum es nicht funktioniert hatte!

Vielen Dank