首页 文章

会话在laravel 5.2中自动到期

提问于
浏览
0

我使用larvel 5.2作为我的应用程序,我没有使用laravel身份验证并编写我自己的代码,在成功登录时我将用户名存储在会话变量中并在登录后检查每个请求 . 我没有更改任何会话设置 . 我的问题是会话在小于3分钟到期,有时在登录时显示

VerifyCsrfToken.php第67行中的TokenMismatchException:

记得有时候 . 刷新页面后一切正常,登录后3分钟内会话即将到期 . 我在路线中的代码如下,

Route::get('/', function () {
    if(Session::has('username') && Session::get('username') != ""){
        return view('index');
    }
    else{
        return redirect('login');
    }
});
Route::get('login', function () {
    if(Session::has('username') && Session::get('username') != ""){
        return redirect('/');
    }
    else{
        return view('login');
    }
});

我的登录和会话存储为,

public function checkme(Request $request){

    $this->validate($request, [
        'username' => 'required',
        'password' => 'required'
    ]);

    //return $request->all();
    $username = $request->username;
    $password = md5($request->password);

    $admin = Admin::where('username', $username)
                ->where('password', $password)
                ->where('status', 'active')
                ->first();

    if(is_null($admin)){

        Session::flash('Invalid','Invalid Credentials..!');
        return redirect('login');
    }
    else{

        Session::put('username',$admin->username);
        return redirect('/');
    }

}

我的登录表单代码,

<form class="login" method="post" action="login">
                    <input type="hidden" name="_token" value="<% csrf_token() %>">
                    <input type="text" placeholder="Username" name="username" required="true" />
                    <input type="password" name="password" placeholder="Password" required="true" />
                    <input type="submit" value="Login" class="btn btn-info btn-sm" />
                </form>

1 回答

  • 0

    我得到了解决方案,但对我来说似乎很奇怪 . 在 config/session.php
    我换了这个
    'cookie' => 'laravel_session',

    'cookie' => 'myapp_session',
    我从laracasts得到这个建议点击link here
    我仍然对此感到陌生,如果有人知道问题背后的原因,请告诉我 .

相关问题