Fix CSRF verification compatibility with plugins

This commit is contained in:
printempw 2018-08-16 14:02:37 +08:00
parent 9b4f05d66a
commit 79150ddca8
4 changed files with 7 additions and 4 deletions

View File

@ -58,7 +58,10 @@ class Handler extends ExceptionHandler
}
if ($e instanceof TokenMismatchException) {
return json(trans('errors.http.csrf-token-mismatch'), 1);
if (request()->ajax()) {
return json(trans('errors.http.csrf-token-mismatch'), 1);
}
abort(403, trans('errors.http.csrf-token-mismatch'));
}
if ($e instanceof PrettyPageException) {

View File

@ -31,7 +31,6 @@ class Kernel extends HttpKernel
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\AfterSessionBooted::class,
\App\Http\Middleware\DetectLanguagePrefer::class,
\App\Http\Middleware\VerifyCsrfToken::class,
],
'static' => [],
@ -45,6 +44,7 @@ class Kernel extends HttpKernel
* @var array
*/
protected $routeMiddleware = [
'csrf' => \App\Http\Middleware\VerifyCsrfToken::class,
'auth' => \App\Http\Middleware\CheckAuthenticated::class,
'verified' => \App\Http\Middleware\CheckUserVerified::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,

View File

@ -12,6 +12,6 @@ class VerifyCsrfToken extends BaseVerifier
* @var array
*/
protected $except = [
'setup/*'
//
];
}

View File

@ -59,7 +59,7 @@ class RouteServiceProvider extends ServiceProvider
protected function mapWebRoutes(Router $router)
{
$router->group([
'middleware' => ['web', CheckSessionUserValid::class],
'middleware' => ['web', CheckSessionUserValid::class, 'csrf'],
'namespace' => $this->namespace,
], function ($router) {
require base_path('routes/web.php');