Fatal error: Uncaught exception 'Enlight_Controller_Exception' with message 'Unauthorized'

Hallo zusammen

Ich habe eine Shopware 5 Live Umgebung in eine Testumgebung auf Linux „kopiert“ gemäss der folgenden Anleitung.

http://community.shopware.com/Shop-Transfer-Live-System-Testumgebung_detail_1309.html

Beim Login ins Backend erhalte ich folgende Fehlermeldung und kann nicht auf die Menüs zugreifen. Cache [var/cache/clear_cache.sh] und Attribute update [bin/console sw:generate:attributes] habe ich mittels der console und script auf dem Terminal ausgeführt ohne Fehler. die Live und Testumgebung sind auf dem selben Server und nutzen die gleiche Domain. Nur die Url ist jeweils anders. d.h.  Live Umgebung auf xxxx.com/shop und Test auf xxxx.com/test.

Das Frontend selber funktioniert.Nur das Backend sheppert.

Irgendwelche vorschläge was man tun kann?

Fatal error: Uncaught exception 'Enlight_Controller_Exception' with message 'Unauthorized' in /var/www/vhosts/skate.ch/httpdocs/test/engine/Shopware/Controllers/Backend/Index.php:211
Stack trace:
#0 /var/www/vhosts/skate.ch/httpdocs/test/engine/Library/Enlight/Controller/Action.php(158): Shopware_Controllers_Backend_Index->loadAction()
#1 /var/www/vhosts/skate.ch/httpdocs/test/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('loadAction')
#2 /var/www/vhosts/skate.ch/httpdocs/test/engine/Library/Enlight/Controller/Front.php(226): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#3 /var/www/vhosts/skate.ch/httpdocs/test/engine/Shopware/Kernel.php(153): Enlight_Controller_Front->dispatch()
#4 /var/www/vhosts/skate.ch/httpdocs/test/vendor/symfony/http-kernel/HttpCache/HttpCache.php(492): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#5 /var/www/ in /var/www/vhosts/skate.ch/httpdocs/test/engine/Shopware/Controllers/Backend/Index.php on line 211
503 Service Unavailable

 

Hallo,

also die Fehlermeldung sagt nur aus, dass du auf einen Bereich zugreifen willst, für den du keine Rechte hast. Benutzt du vielleicht einen eingeschränkten Benutzer?
 

Moritz

Merci für die Antwort. Nein den gleichen Benutzer wie auf der Liveumgebung. DB wurde kopiert und URL gemäss Anleitung in der DB angepasst.

Glaube habe ein Lösungsansatz gefunden. Habe gesehen das in der DB in der Tabelle  “s_core_auth” einen Eintrag für “sessionID” sowie ein “disabled_cache” flag gibt. Ich habe mal für meinen User das “sessionID” Feld geleert und “disabled_cache” auf 1 gesetzt. Danach konnte ich einloggen, Fehler erschien nachher nicht mehr und ich konnte auf das GUI zugreifen. Ob und welches der beiden Einstellungen nun genützt hat bin ich mir nicht sicher, aber es schein nun wieder zu gehen.

Hat jemand eine Idee wann die “sessionID” im Backend jeweils neu erzeugt wird und wo der “Backend” Cache für die User abgelegt wird? 

Gruss
Mark

 

Hallo,

habe leider ein ähnliches Problem. Live Shop in Unterordner verschoben … Automatisches Update von SW 5.1.0 nach 5.2.14 ohne Fehlermeldungen durchgeführt …
Frontend geht, Backend erst csrfProtection-Fehlermeldung … csrfProtection hab ich dann über config deaktiviert … nun ging der Login und es kam folgende Fehlermeldung bei der ich nicht weiter komme:

Pfad der Anforderung: /xxx/backend/Index/load/

Ups! Ein Fehler ist aufgetreten!

Die nachfolgenden Hinweise sollten Ihnen weiterhelfen.

Unauthorized in engine/Shopware/Controllers/Backend/Index.php on line 222
Stack trace:

#0 engine/Library/Enlight/Controller/Action.php(159): Shopware_Controllers_Backend_Index->loadAction()
#1 engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('loadAction')
#2 engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#3 engine/Shopware/Kernel.php(179): Enlight_Controller_Front->dispatch()
#4 vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#5 engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#6 vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#7 engine/Shopware/Components/HttpCache/AppCache.php(103): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)
#8 shopware.php(117): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#9 {main}

Den Trick von megloff hab ich schon versucht, leider kein Erfolg. 
Freue mich über jeden Vorschlag.

Gruss Paul

Das Problem tritt seit dem neuen Session-Handling ab 5.2.13 auf und ist auf die Grundeinstellung “PHP-Timeout” zurückzuführen. Ist das Timeout auf Kein (0 Sek.) gesetzt, werden die Sessions direkt invalidiert.

Mit der kommenden Version 5.2.15 wird das Problem behoben sein. Bis dahin kann der kaputte Zustand mit dem Query aus dem Ticket repariert werden:
Shopware Issuetracker

LG, Jan

2 Likes

Ohman und das soll man wissen? Grin

Vielen Dank, mit der Lösung aus dem Ticket ging es ohne Probleme. Smile

LG Paul

Bei uns präzise das gleiche Problem … siehe unten. Keiner der beiden oben beschriebenen Lösungsansätz hat geholfen. SW 5.2.14 mit PHP 7.0. (Bei PHP 5.6 ist alles ok.) Was könnte man noch probieren?

Grüsse,
Geert

Ups! Ein Fehler ist aufgetreten!

Die nachfolgenden Hinweise sollten Ihnen weiterhelfen.

Unauthorized in engine/Shopware/Controllers/Backend/Index.php on line 222

Stack trace:

#0 engine/Library/Enlight/Controller/Action.php(159): Shopware_Controllers_Backend_Index->loadAction() #1 engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('loadAction') #2 engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #3 engine/Shopware/Kernel.php(179): Enlight_Controller_Front->dispatch() #4 vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Enlight_Controller_Request_RequestHttp), 1, true) #5 engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #6 vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #7 engine/Shopware/Components/HttpCache/AppCache.php(103): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true) #8 shopware.php(117): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #9 {main}

So, gerade ist die 5.2.15 herausgekommen und schon installiert - der Fehler bleibt leider genau der gleiche. Hat jemand 'ne Idee, warum das bei uns nur mit PHP 7.0 auftritt, mit 5.6 aber in Ordnung ist?

Gruss

Geert 

Hi,

ich hatte das selbe Problem, dass der Backend Login mit der Version 5.2.20 nicht funktioniert hat, habe immer diese Fehlermeldung erhalten:

Unauthorized in engine/Shopware/Controllers/Backend/Index.php on line 222

Bei mir war suhosin unter PHP 7.0.16 aktiviert, scheinbar hat der Shop ein Problem, wenn Suhosin die Sessions verschlüsselt…ich konnte das Problem beheben, in dem ich folgende Suhosin Einstellung geändert habe:

suhosin.session.encrypt=off

Danach hat bei mir der Login im Backend problemlos funktioniert.

Gruß

Sascha

 

1 Like

Hi Sascha,

also, gerade noch mal alles kontrolliert & CSRF-Protection auch für Backend ausgeschaltet. Dann hakte es noch am SW-Lizenz-Manager (der ja Ioncube braucht was aber auf unserer PHP 7 nicht installiert ist). Damit scheint jetzt alles prima zu gehen.

Grüße

Geert

PS. Suhosin mag unserer Hoster für PHP 7 noch gar nicht installieren ;-( Vermute das Problem lag bei uns eher am CSRF-Protection.

Hi Geert,

das würde ich dann auch vermuten, die CSRF Protection hatte ich auch abgeschaltet bei mir, das hatte aber leider keinen Effekt :confused:

Erst nach dem Abschalten der gecrypteten Sessions funktionierte es dann.

Btw: Für PHP 7 gibt es übrigens den IonCube Loader 6.0.9, der läuft problemlos mit PHP 7 zusammen.

Viele Grüße

Sascha

you have to implement CSRFWhitelistAware (getWhitelistedCSRFActions function) in your backend controller

use Shopware\Components\CSRFWhitelistAware;

class Shopware_Controllers_Backend_YOURCONTROLLER

extends \Shopware_Controllers_Backend_ExtJs implements CSRFWhitelistAware
{
public function getWhitelistedCSRFActions()
{
return [‚test‘];
}
public function testAction()
{…}
}