TP5框架 《登录超时或非法访问》

版权声明:本文为博主原创文章,转载请注明原文出处! https://blog.csdn.net/qq_23375733/article/details/86573808

为了项目的安全性考虑,就是当登录超时或者未登录时,通过浏览器的地址栏直接输入项目内的地址时,

如果想禁止未登录的用户不可以访问到后台,可以这样做:

1、首先每个类都继承一个基类Controller

use think\Controller;

class Index extends Controller{

}

2、在这个基类中,默认的构造方法好像调用了 _initialize() 这个初始化的方法, 没有调用可以自己手动调用下,

然后我们可以在这初始化的方法中写上以下:

/**
* 初始化操作
* @access protected
*/
protected function _initialize()
{
    //获取当前页面模块名,控制器名
    $module = $this->request->module();
    $controller = $this->request->controller();
    $action = $this->request->action();

    //后端判断
    if($module == 'admin') {
        if($controller != 'Login' && empty(Cookie::get('user'))) {
            //登录超时或未登录跳转到登陆页面
            $this->error('您已登陆超时,即将退出请重新登陆~');
        }
    }
}

这样,每次执行某个方法时,都会进入到这个方法里,判断是否已登陆,未登录或者登陆超时,就会自动跳转到自定义的页面;

猜你喜欢

转载自blog.csdn.net/qq_23375733/article/details/86573808