我已经在会话中存储了一些值,并在中间件中进行了身份验证。我的会话超时为SESSION_LIFETIME = 120。当其页面非常适合30分钟并且对其执行一些操作时,中间件会验证其正确并继续进行,但是由于代码它在功能上提供了一些错误,但是我再次刷新了它的代码,将其重定向到登录页面
laravel版本6处理方法
{
$this->authuser = getLogedinUser();
if(Arr::has($this->authuser,['id','name','email',token]) && Arr::get($this->authuser,'token',0))
{
return $next($request);
}
return redirect('/login');
}```
尝试一下
public function handle($request, Closure $next)
{
if(!$this->session->has('lastActivityTime'))
$this->session->put('lastActivityTime',time());
elseif(time() - $this->session->get('lastActivityTime') > $this->getTimeOut()){
$this->session->forget('lastActivityTime');
Auth::logout();
return redirect('auth/login')->withErrors(['You had not activity in 30 minutes']);
}
$this->session->put('lastActivityTime',time());
return $next($request);
}