내가 다음이 파일과 일치하지 않습니다 행동이 이루어지는 곳. UserController 내부에서이 방법은 표준 Laravel 블레이드 템플릿을 사용 어떤 패키지 로그인 폼 게시물을 처리합니다Laravel 4 인증 토큰은 필터에
블레이드 파일 :
{{ Form::open(['url' => 'user/signin']) }}
{{ Form::token() }}
<div class="form-group">
<label>{{ trans('user.email') }}</label>
<input type="email" name="email" value="" class="form-control">
</div>
<div class="form-group">
<label>{{ trans('user.password') }}</label>
<input type="password" name="password" value="" class="form-control">
</div>
<input type="submit" class="btn btn-primary" value="{{ trans('login') }}">
{{ Form::close() }}
이이 UserController 포스트 작업입니다 :
public function postSignin()
{
//
if (Auth::attempt(['email' => Input::get('email'), 'password' => Input::get('password')]))
{
return Auth::user()->email;
}
else
{
return Redirect::to('user/login')->with('message', trans('login.failure'));
}
}
이 파일은 내가 사용하는 이전 파일입니다.
public function up()
{
//
Schema::create('users', function ($table) {
$table->increments('id');
$table->string('email', 16)->unique();
$table->string('password', 255);
$table->timestamps();
});
}
하지만 로그 할 때
Illuminate \ Session \ TokenMismatchException
filters.php 파일에 던져 :
Route::filter('csrf', function()
{
if (Session::token() != Input::get('_token'))
{
throw new Illuminate\Session\TokenMismatchException;
}
});
내가 잘못 뭐하는 거지에, 나는 예외가? Auth ::는 해시로 암호를 해독합니까? root 사용자를 생성하는 데 사용되는 Seeder에서 Hashed입니다. Session :: token()을 덤프하면 Form :: token()과 동일하지만 여전히 filters.php 파일 내에서 TokenMismatchException이 발생합니다.
업데이트 실제로 토큰을 볼 수 있도록하기 위해 csrf 필터가 비활성화되었습니다. 양식을 제출하기 전에 두 개의 토큰 Session :: token()과 Form :: token()이 동일하다는 것을 HTML 소스 코드를보고 확인했습니다. postSignin 메서드 내에서 dd()를 사용하여 양식을 제출하고 토큰을 덤프 할 때 Session :: token()이 변경되었습니다. 더 이상 HTML 소스 코드에 표시된 Session :: token()과 동일하지 않습니다.
return array(
'driver' => 'array',
);
로컬 폴더의 세션 구성.
또한 블레이드 파일을 게시하십시오.'{{Form :: open()}} '을 사용하면 csrf 숨김 필드가 자동으로 추가됩니다. 사용자가 직접 폼을 만든 경우 폼을 추가하지 않는 한 그렇지 않습니다. 하지만 우리는 당신이 그것을 어떻게 포맷 하는지를 볼 필요가 있습니다. – Luceos
@Luceos 블레이드 파일이 추가되었습니다. 표준 블레이드 템플릿, csrf가 자동으로 설정됩니다. –
오, 알았어. 이 오류는 "바닐라"라고합니다. – Luceos