ThinkPHP后台程序检测用户登录超时实现

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

新建一个公共Action叫CommAction.class.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

把程序判断写在这个文件中,然后其他文件都包含即可

你可能感兴趣的:(PHP,thinkphp,登录超时)