【问题标题】:Laravel post request with error "TokenMismatchException"带有错误“TokenMismatchException”的 Laravel 发布请求
【发布时间】:2014-12-28 11:57:43
【问题描述】:

我在 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');
    }
}

【问题讨论】:

    标签: php validation laravel controller token


    【解决方案1】:

    您的表单中似乎没有隐藏的 csrf 字段。
    尝试将其添加到您的表单中 {{ Form::token() }}

    【讨论】:

    • 仍然无法正常工作。我在表单中添加了 {{Form::token()}}。 {{ Form::open(array('autocomplete' => 'off')) }} {{ Form::token() }} {{ Form::close() }}
    • 你的表单的动作和方法是什么?
    猜你喜欢
    • 1970-01-01
    • 2018-03-28
    • 2014-03-04
    • 2020-05-12
    • 2016-10-12
    • 2018-02-17
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    相关资源
    最近更新 更多