2016-12-13 3 views
0

Ich lerne Laravel und ich habe gerade eine Middleware mit einer sehr kleinen Session-Arbeit erstellt. aber ich bin unten Störung zu erhalten:Laravel CSRF Fehler

FatalThrowableError in VerifyCsrfToken.php line 136: Call to a member function setCookie() on null

Hier ist die Middleware:

<?php 

namespace App\Http\Middleware; 

use Closure; 

class Adminlogin { 

    public function handle($request, Closure $next) { 
     echo 1; 
     if (!$request->session()->has('userid')) { 
      return view('admin.auth.login'); 
     } 
     return $next($request); 
    } 

} 
+0

Das Kern-Code ist oder Laravel 5.3 –

+0

Hallo @Haren ... Sie können versuchen, mit 'return response() -> Ansicht ('admin.auth.login');' – Hackerman

+0

@ mopo922 nein .. Ich habe nichts geändert. Dies ist innerhalb von Vendor/Laravel/Framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php Zeile 136: –

Antwort

0

In diesem Szenario response()->view() die angegebene Ansicht mit dem Statuscode 200 zurück, aber Sie sind in der Lage, die Antwort auf vielfältige Weise zu modifizieren.

From the documentation: If you need control over the response's status and headers but also need to return a view as the response's content, you should use the view method: https://laravel.com/docs/5.3/responses

return response() 
     ->view('hello', $data, 200) 
     ->header('Content-Type', $type); 
0

Sie sollten nicht den Blick von Ihrem middleware zurückzukehren. Versuchen Sie stattdessen, auf eine Route umzuleiten, die diese Ansicht zurückgibt.

wie -

return redirect()->route('login');