thinkphp后台检测用户登录超时的实现方法

发布时间:2020-02-15编辑:脚本学堂
在thinkphp的后台检测中,由于每个操作的地方都需要先判断一下登录是否超时,就想到用构造函数,但是每个类都写一个构造函数又不方便。

thinkphp的后台检测中,由于每个操作的地方都需要先判断一下登录是否超时,就想到用构造函数,但是每个类都写一个构造函数又不方便。
所以写了一个公共类,这个公共类里面还可以写许多其他的通用方法,如: _initialize 方法

新建一个公共Action叫CommAction.class.php
 

复制代码 代码如下:
<?php
class CommAction extends Action { 
   public function __construct() { 
        parent::__construct(); 
        $this->checkAdminSession(); 
   } 
     
   public function checkAdminSession() { 
       //设置超时为10分 
       $nowtime = time(); 
       $s_time = $_SESSION['logintime']; 
       if (($nowtime - $s_time) > 600) { 
            unset($_SESSION['logintime']); 
            $this->error('当前用户未登录或登录超时,请重新登录', U('login/loginpage')); 
        } else { 
            $_SESSION['logintime'] = $nowtime; 
         } 
      } 
}
?>
 

如果是面向过程的程序则写一个session.inc.php,把程序判断写在这个文件中,然后其他文件都包含即可。