2016-03-20 3 views
0

ErrorException в VerifyCsrfToken.php линии 135:ErrorException в VerifyCsrfToken.php

Попытка получить свойство необъектных

Что бы быть причиной меня, чтобы получить вышеуказанную ошибку? У меня есть собственное промежуточное программное обеспечение.

Я не уверен, что файлы к сообщению, как это происходит, когда я логин и на мой взгляд, у меня есть

{!! csrf_field() !!} 

Маршруты:

<?php 

/* 
|-------------------------------------------------------------------------- 
| Routes File 
|-------------------------------------------------------------------------- 
| 
| Here is where you will register all of the routes in an application. 
| It's a breeze. Simply tell Laravel the URIs it should respond to 
| and give it the controller to call when that URI is requested. 
| 
*/ 

Route::get('/', function() { 
    return view('welcome'); 
}); 

/* 
|-------------------------------------------------------------------------- 
| Application Routes 
|-------------------------------------------------------------------------- 
| 
| This route group applies the "web" middleware group to every route 
| it contains. The "web" middleware group is defined in your HTTP 
| kernel and includes session state, CSRF protection, and more. 
| 
*/ 

Route::group(['namespace' => 'Admin', 'prefix' => 'admin', 'middleware' => 'web'], function() { 

    /* Admin Auth */ 
    Route::get('login', 'Auth\[email protected]'); 
    Route::post('login', 'Auth\[email protected]'); 
    Route::get('register', 'Auth\[email protected]'); 
    Route::post('register', 'Auth\[email protected]'); 
    Route::get('logout', 'Auth\[email protected]'); 

    Route::group(['middleware' => 'auth.admin'], function(){ 
    /*Admin Dashboard Routes */ 
     Route::get('dashboard', '[email protected]'); 
     Route::get('admin', '[email protected]');  
    }); 
}); 



Route::group(['middleware' => 'web'], function() { 

    Route::get('/home', '[email protected]'); 
}); 

Middleware:

<?php 

namespace App\Http\Middleware; 

use Closure; 
use Illuminate\Support\Facades\Auth; 

class AdminAuthController 
{ 
    /** 
    * Handle an incoming request. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Closure $next 
    * @return mixed 
    */ 
    public function handle($request, Closure $next, $guard = null) 
    { 
     if(Auth::guard($guard)->guest()) 
     { 
      if ($request->ajax()) 
      { 
       return response('Unauthorized.', 401); 
      }else{ 
       return redirect()->guest('admin/login'); 
      } 
      return $next($request); 
     } 
    } 
} 
+0

Вы можете разместить свой файл маршруты? –

+0

@JilsonThomas Done –

+0

На какой странице вы получаете эту ошибку? –

ответ

1
public function handle($request, Closure $next, $guard = null) 
{ 
    if (Auth::guard($guard)->guest()) { 
     if ($request->ajax()) { 
      return response('Unauthorized.', 401); 
     } 

     return redirect()->guest('admin/login'); 
    } 
    // they are not a guest, so lets allow the request 
    // to continue to the application 
    return $next($request); 
    // we are returning the response from where ever it started 
    // from down the pipeline 
} 

Если запрос соответствует некоторым критериям, мы останавливаем его от дальнейшего углубления в приложение, не вызывая $next($request). В обоих случаях мы возвращаем ответ, который является некоторой формой класса Response, надеюсь.

Пространственное программное обеспечение CSRF принимает запрос, изучает его и, если оно проходит, оно передает запрос глубже в приложение. Этот вызов возвращает ответ, который он также хотел бы добавить в файл cookie, но для этого он ожидает определенный тип объекта.

Чтобы принять участие в этом стеке, вы должны ожидать, что запрос поступит и вернет ответ.

Чтобы передать запрос глубже в приложение (позволяя промежуточному программному обеспечению «пройти»), просто вызовите следующий обратный вызов $ с запросом $.

Лучше всего предусмотреть промежуточное ПО как последовательность «слоев». HTTP-запросы должны проходить до того, как они попадут в ваше приложение. Каждый слой может проверить запрос и даже полностью отклонить его.

Laravel Docs - Middleware - Defining Middleware

Смежные вопросы