[TYPO3-german] Nach Wechsel der Sprache falsch eingeloggt
Christopher Lörken
christopher at loerken.net
Tue Feb 10 11:56:45 CET 2009
Hallo zusammen,
wir haben ein leider recht dickes Problem auf unserer Seite:
Es kommt vor, dass wenn ein User die Sprache er Seite ändert plötzlich
als ein anderer User eingeloggt ist.
Böse Sache und ich habe leider keine Ahnung woran es liegen könnte.
Wir benutzen Typo3 seit Mitte Dezember auf dem Produktionsserver und die
ersten Berichte dieses Problems datieren auf kurz vor Weihnachten, als
User unter falschem Namen im mm_forum posten konnten.
Die letzten 5-10 Tage haben sich offenbar mehr Leute durchgerungen,
dieses Problem zu berichten und leider passiert es offenbar sehr häufig
und insbesondere einigen Nutzern regelmäßig.
Ich habe das Problem zwischenzeitlich umgangen indem ich den Wechsel der
Sprache mit einem Wechsel von .com auf .de Domain verbunden habe, das
hat die Symptome größtenteils ausgeräumt. Das eigentliche Problem bleibt
aber sehr akut: **Wechsel von L=0 auf L=1 ändert mitunter den
eingeloggten User.**
Unsere Konfiguration ist dabei nichts außergewöhnliches:
- Typo3 4.2.6
- Englisch default mit deutsch als L=1.
- sr_language_menu zum Wechsel der Sprachen.
- fe_login
- Nutzerregistrierung über mm_forum
- .htaccess rewrite rules, die auf der Deutschen Domain automatisch L=1
anhängen (sind erst nach den Berichten im Dezember eingerichtet worden).
- Cookiekonfiguration:
keine cookieDomain
$TYPO3_CONF_VARS['FE']['lifetime'] = '86400';
$TYPO3_CONF_VARS['FE']['permalogin'] = '2';
$TYPO3_CONF_VARS['FE']['lockIP'] = '4';
Wir haben als einzige Erweiterung dieser Konfiguration ein automatisches
Einloggen der Nutzer bei Erstellung ihres Accounts implementiert. Der
Code ist:
public static function loginUserByName($uname) {
if (!$GLOBALS['TSFE']->fe_user) {
$GLOBALS['TSFE']->fe_user = tslib_eidtools::initFeUser();
}
$GLOBALS['TSFE']->fe_user->checkPid=0; //do not use a particular pid
$info= $GLOBALS['TSFE']->fe_user->getAuthInfoArray();
$user=$GLOBALS['TSFE']->fe_user->fetchUserRecord($info['db_user'],$uname);
$GLOBALS['TSFE']->fe_user->createUserSession($user);
$GLOBALS['TSFE']->fe_user->user = $user;
}
Die Nutzer, die betroffen sind sind jedoch durchaus schon länger
registriert und ich habe Debug Nachrichten in diese Methode eingefügt
und keinerlei zeitliche oder namentliche Verbindung zu unserem Problem
gefunden.
Ich habe außerdem in t3lib_userauth bei der Berechnung der fe_typo_user
id eine Sicherheitsabfrage implementiert ob die id bereits in der
fe_sessions Tabelle auftritt. Dies ist bisher nicht der Fall gewesen.
Das Verhalten ist offenbar Browserunabhängig und wurde sowohl für
Firefox 3.0.5 als auch für IE 7 bestätigt.
Ich kann das Problem für mich leider nicht reproduzieren und bin leider
recht hilflos, was Ideen angeht, wo ich suchen und wie ich vorgehen soll.
Hat jemand von sowas schonmal gehört? Irgendwelche Ideen?
Danke für jegliches Feedback, ich hoffe es ist nur eine dumme
Konfigurationssache...
Viele Grüße,
christopher
More information about the TYPO3-german
mailing list