Magento: Login ins Admin-Backend nicht möglich

Abb. 1: Fehlerhafte Domain-Einstellungen in
core_config_data können dazu führen, dass Magento keine Cookies setzen kann - und den Zugang ins Admin-Backend versperrt.
Nach einem Umzug einer bestehenden Magento-Installation auf andere Server (oder auch in eine lokale Entwicklungsumgebung) kann es anschließend dazu kommen, dass das System den Admin-Login ins Backend versperrt. Dieses Problem wird dadurch gekennzeichnet, dass die Credentials zwar angenommen, aber ohne Fehlermeldung mit einem wiederum leeren Login-Bildschirm quittiert werden, und es besteht selbst dann fort, wenn in der Datenbanktabelle
core_config_data alle
unsecure- und
secure-base_url-Parameter für alle Stores zuvor bereits richtig umgestellt worden sind und das Verzeichnis
/var/cache gelöscht wurde.
Ursache für dieses Verhalten ist, dass Magento aufgrund fehlerhafter Domain-Angaben in der Datenbank keinen Cookie für das Backend-Interface setzen kann. Die relevanten Daten sind in der Tabelle
core_config_data dort zu finden, wo das
path-Feld die Angabe
web/cookie/cookie_domain beinhaltet. In den betreffenden Zeilen (noch differenziert durch das
scope-Feld zur Kennzeichnung der jeweiligen Stores) sind entweder die
value-Angaben zu entfernen (im Fall einer Installation auf dem
localhost) oder durch die richtigen, aktuellen Domainnamen zu ersetzen, auf denen das System nun betrieben wird. Für das Admin-Backend ist hier insbesondere die Zeile relevant, für die
scope gleich Null ist (siehe Abb. 1 für die entsprechende Ansicht in phpMyAdmin). Auch in der Zeile mit der
path-Angabe
web/cookie/cookie_httponly muss der Inhalt von
value gelöscht werden.
Jetzt noch einmal
/var/cache löschen - dann sollte der Admin-Zugang wieder zur Verfügung stehen.
Möchte man nun aus Sicherheitserwägungen heraus wieder einrichten, dass nur HTTP-Zugriff auf Cookies gestattet wird, so findet sich die entsprechende Einstellung im Backend unter
System -> Konfiguration -> Allgemein -> Web -> Sitzungscookie-Verwaltung.