Ich habe eine Anwendung mit Laravel 5.3 erstellt und es funktioniert auf localhost in Ordnung, aber nachdem ich alle auf einem Server meinen Code uploded habe ich diesen Fehler:Httpexception in handler.php Linie 133: Diese Aktion ist nicht autorisierte
Symfony\Component\HttpKernel\Exception\HttpException in /home/project/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php line 133: This action is unauthorized.
Das passiert, wenn ich versuche, Funktionen in meinen Controllern per Post aufzurufen.
Dies ist ein Beispiel:
Strecke
Route::group(['middleware' => 'auth'], function() {
Route::group(['middleware' => 'admin'], function() {
Route::post('admin/store/', 'Admin\[email protected]');
});
});
-Controller
protected function store(AnnouncementRequest $request) {
return Auth::user()->id;
}
Wie kann ich dieses Problem beheben? Warum passiert das nicht auf meinem localhost?
Vielen Dank im Voraus.
Ich bin nicht sicher, warum die Funktion Ihres Controllers Zugriffsmodifizierer "geschützt" hat. Versuchen Sie, das öffentlich zu machen und zu sehen, was passiert. Der Grund, warum etwas lokal arbeitet, aber nicht auf remote host 9/10 für mich funktioniert, war Cache (versuchen Sie es mit php artisan cache: Löschen Sie lokal und schauen Sie, ob es noch funktioniert). – peaceman
Hallo Peaceman, danke für deine Antwort, aber nichts von dem oben Gesagten funktionierte für mich. – Kvnamo
Aus meiner Forschung 'Diese Aktion ist nicht autorisiert. 'erscheint, wenn Sie versuchen, auf eine Ressource zuzugreifen, für die Sie nicht über ausreichende Zugriffsrechte verfügen. Was in Ihrer benutzerdefinierten Anforderung (AnsweringRequest) geschieht, geben Sie von der authorize-Methode false zurück. – peaceman