Laravel发布请求错误" TokenMismatchException"

时间:2014-11-01 06:58:07

标签: php validation laravel controller token

我在Laravel 4.2中得到了这个TokenMismatchException。 当我尝试发布请求时,将显示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');
    }
}

1 个答案:

答案 0 :(得分:0)

您的表单中似乎没有隐藏的csrf字段 尝试在表单中添加此项 {{ Form::token() }}