我正在使用Laravel 5.2应用程序,我的所有观点都面临着这个问题。
CSRF令牌过快过期。事实上,我只是占用了填写表格的时间,一旦我提交,我就会TokenMismatchException
例外。
我试图在Google上搜索问题,找到了一些类似问题的git,甚至试图在Laracast上遇到类似问题而没有任何成功。
我的.env文件有这样的行:
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
这是我的登录方法:
public function postLogin(CookieJar $cookieJar, Request $request)
{
$this->validate($request, [
'email1' => 'required|email',
'password' => 'required|string'
]);
if($user = User::whereEmail($request->email1)->first() ) {
if(Hash::check($request['password'], $user->getAttributes()['password'])) {
if(!$user->getAttributes()['is_active']) {
return redirect('/login')->withErrors('Your Account is not Activated Yet!');
} else if($user->getAttributes()['is_deleted']) {
return redirect('/login')->withErrors('Your Account is Banned!');
} else {
# Success
$cookie = Cookie::make('user_id', $user->getAttributes()['id'], 864000);
return redirect('/')->with('message', 'You have Successfully Logged In!')->withCookie($cookie);
}
} else {
return redirect('/login')->withErrors('Your Login Information is Wrong!');
}
} else {
return redirect('/login')->withErrors('Your Login Information is Wrong!');
}
}
请帮帮我。
添加.env文件内容和postLogin方法。
答案 0 :(得分:0)
您的环境中未保存会话可能会出现问题。也许做php artisan缓存:清除或手动清理和重置存储/框架/会话/中的priveleges如果会话保存到文件。
我假设您已经使用csrf_token()或提供它的东西正确地将令牌添加到您的表单中。