Nach der Installation der Erweiterung kann ich mich nicht beim Administrator anmelden

10

Entschuldigung im Voraus für die dünnen Details zu diesem.

Ich verkaufe eine Magento-Erweiterung. Mit der neuesten Version habe ich angefangen, von einigen Benutzern einen seltsamen Fehlerbericht zu erhalten. Insbesondere nach der Installation der Erweiterung wird gemeldet, dass sie sich nicht beim Administrator anmelden können. Anmeldeanforderungen werden auf die Anmeldeseite zurückgeleitet, und es wird keine Fehlermeldung angezeigt.

Das klingt also nach dem klassischen Problem "Cookie kann nicht gesetzt / Sitzung instanziiert werden". Das Seltsame ist, dass sie sich nach 3 - 12 Stunden anmelden können (das ist eine Schätzung). Mit anderen Worten, sie stoßen auf das Problem, kontaktieren mich für Unterstützung, ich schreibe zurück, sie berichten, dass das Problem verschwunden ist. Ich gehe auch davon aus, dass das Löschen der Cookies und das Einrichten einer neuen Sitzungs-ID das Problem beheben und Benutzern, die darauf stoßen, dasselbe empfehlen wird.

Ist hier jemand auf etwas Ähnliches gestoßen oder kann er sich einen Grund vorstellen, warum dies passiert? Ich kann das Problem nicht lokal neu erstellen, aber ich habe genug Berichte erhalten, von denen ich überzeugt bin, dass es ein legitimes Problem ist.

Alan Storm
quelle
2
Ja, ich habe dies von Zeit zu Zeit, nachdem ich mit der Konfiguration, Cookies, xdebug usw. gespielt habe. Das Bereinigen der Cookies hilft. Frag mich nicht, was im Detail passiert.
Fabian Blechschmidt
2
Ich habe dieses Problem von Zeit zu Zeit. Das Löschen von Cookies hilft. Ich bin mir nicht sicher, wo dieses Problem liegt. Wilde Vermutung: Die Gesamtgröße der Cookies für diese Domain überschreitet das Limit und der Browser akzeptiert nach der Anmeldung keine neuen Cookies von Magento.
Dmytro Zavalkin
2
Ich bekomme dieses Problem - es scheint in Chrome schlimmer zu sein als in FF (wie in, es erscheint häufiger). Obwohl ich mich auf einer älteren Version von EE (1.10.1.1) befinde, könnte dies nicht in Zusammenhang stehen.
Cheddies
2
Ich habe dieses Problem ausschließlich in Chrome. Das Löschen von Cookies hilft, und anekdotisch sind die Websites, auf denen es am schlechtesten zu sein scheint, Speicher für Dateisystemsitzungen. Vielleicht etwas im Zusammenhang mit der Müllabfuhr?
Philwinkle
2
Dies könnte sehr gut mit dem Fehler "Falsche Serverzeit" zusammenhängen. Chrome leidet insbesondere darunter, weil Cookies zusätzlich überprüft werden. Bitten Sie Ihre Kunden, die Zeit auf ihrem Server zu synchronisieren.
Daniel Sloof

Antworten:

8

Zehn Monate später bin ich mir ziemlich sicher, dass dieser Fehler dadurch verursacht wurde, dass ein Sitzungsobjekt zu früh im Anforderungslebenszyklus von Magento (über einen Beobachter) instanziiert wurde. Wenn eine Sitzung zu früh instanziiert wird, lautet der Name des PHP-Cookies PHPSESSIDanstelle von adminhtmloder frontend.

Dadurch wird der Systembetrieb nicht gestoppt, aber in bestimmten bedingten Codepfaden, in denen bereits ein Cookie gesetzt wurde, kann es vorkommen, dass ein in der Sitzung festgelegtes Anmeldetoken nicht ordnungsgemäß gelesen / geschrieben wird, was zu Fehlern beim "Ich kann mich nicht anmelden" führt.

Die vollständige Erklärung ist zu lang für eine einzelne Stack Exchange-Antwort, aber Sie können sie hier finden , wenn Sie interessiert sind. (Selbstlink)

Alan Storm
quelle
2

Wie Daniel Sloof sagte, stellen Sie sicher, dass die Zeit auf dem Server korrekt ist. Dies hat mich in der Vergangenheit daran gehindert, mich einzuloggen. Stellen Sie nach dem Zurücksetzen der Zeit auf dem Server sicher, dass Sie Ihre Sitzungen (und den Cache für ein gutes Maß) sowohl von Ihrem Browser als auch von der Magento-Installation trennen.

Martijn Schot
quelle