Я получаю это TokenMismatchException с Laravel 4.2.
TokenMismatchException появится, когда я попытаюсь опубликовать запрос.
Например, Страница входа.
Если я отправлю эту форму, появится TokenMismatchException.
Есть ли способ проверить все отправленные запросы?
Вот ошибка:
Route::filter('csrf', function()
{
if (Session::token() != Input::get('_token'))
{
throw new Illuminate\Session\TokenMismatchException;
}
});
Вот мой код:
route.php
Route::get('login',array('as' => 'login', 'uses' => 'AuthController@getLogin'))->before('guest');
Route::post('login',array('uses' => 'AuthController@postLogin'))->before('csrf');
Route::group(array('before' => 'auth'), function(){
Route::get('dashboard', array('as' => 'panel', 'uses' => 'DashboardController@view_dashboard'));
});
AuthController.php
class AuthController extends Controller {
public function getLogin(){
return View::make('users.login');
}
public function postLogin(){
$rules = array('username' => 'required', 'password' => 'required');
$validator = Validator::make(Input::all(), $rules);
if($validator->fails()){
return Redirect::route('login')->withErrors($validator);
}
$auth = Auth::attempt(array(
'username' => Input::get('username'),
'password' => Input::get('password')
), false);
if(!$auth){
return Redirect::route('login')->withErrors(array(
'Maaf anda bukan sebagai admin..'
));
}
//return "Success";
return Redirect::to('dashboard');
}
}
DashboardController.php
class DashboardController extends Controller {
public function view_dashboard(){
return View::make('dashboard.view_home_admin');
}
}
Кажется, у вас нет скрытого поля CSRF в вашей форме.
попробуйте добавить это в вашей форме
{{ Form::token() }}
Других решений пока нет …