1、登录操作缓存登录时间
登录成功缓存用户信息,再增加登录时间用于判断 session('session_start_time', time()); //记录会话开始时间!判断会话时间的重点!重点!重点!
2、在判断登录状态方法,增加判断过期时间
/**
+----------------------------------------------------------
* 验证登陆
+----------------------------------------------------------
*/
public function logined(){
if(empty($_SESSION['id'])){
// $this->error('您的登录信息已过期或者还未登录!',U('Public/index'));
$this->redirect('Public/index');
}
//判断会话是否过期 配置过期时长
if (time() - session('session_start_time') > C('SESSION_OPTIONS')['expire']) {
session_destroy();//真正的销毁在这里!
cookie('id', NULL);
cookie('name', NULL);
cookie('login', NULL);
$this->redirect('Public/index');
}
// 如果无过期,且有操作更新登录时间
session('session_start_time', time());
}