2016-04-06 16 views
0

Ich habe eine Gruppe von Routen, die von Auth Middleware geschützt werden müssen. Ich benutze Standard-Auth-Filter.Laravel 5 Auth Middleware funktioniert nach csrf in Post-Anfragen

Es funktioniert gut mit GET-Anfragen, aber wenn ich eine POST-Anfrage mache, sehe ich Token Mismatch Exception. Ich denke, CSRF Middleware funktioniert vor Auth. Wie ändere ich die Reihenfolge dieser Filter? Ich muss Unberechtigte Ausnahmen sehen, um Redirect von Ajax-Anfragen zu machen.

Antwort

0

In app/Http/Kernel.php gut funktionieren, gibt Erklärung für die Web-Middleware ist. Ändern Sie die Reihenfolge entsprechend oder Sie können es vorübergehend deaktivieren, um den Code zu debuggen

Die Web-Middleware-Gruppe enthält die VerifyCsrfToken::class zu CSRF-Injektion zu der POST-Anforderung zu verhindern. Wenn Sie das csrf_token während der POST-Anforderung in dem Formular einschließen, sollte der Formularkonfliktfehler behoben werden.

<input type="hidden" name="_token" value="{!! csrf_token() !!}"> 
0

Was ich von Ihrer Frage bekomme, ist das Problem, wenn Sie das POST-Formular senden. In Laravel Postform erfordert eine Token-Sicherheit. schreiben diese eine Innenseite der Anfrageformular zum Beispiel

<form method="POST"> 
    <input type="hidden" name="_token" value="{!! csrf_token() !!}"> 
    blah blah blah ... 
    </form> 

nach dieser Anfrage zu senden versuchen und würde

Verwandte Themen