防跳墙访问核心思想:判断session是否存在。
注意:阅读Controller.class.php基类时,构造方法中看到下述代码
改变继承关系:创建一个CommonController.class.php通用控制器,该控制器继承Controller基类其他的每个控制器(如:DeptController、UserController),都继承CommonController
将_initialize()方法写入CommonController中,那么DeptController和UserController也能够继承该方法。
1.创建CommonController控制器,检测session是否存在,代码如下:
<?php namespace Admin\Controller; use Think\Controller; class CommonController extends Controller{ function _initialize(){ //检查session是否存在 if(!session('?id')){ $this->error('请先登录,再访问',U('Index/login'),3); } } }

本文介绍了一种防跳墙访问机制的核心思想,即通过检测session的存在来限制未登录用户的访问。通过修改控制器的继承关系,将session检测逻辑封装在通用控制器(CommonController)中,确保所有业务控制器都能执行此逻辑。
2万+

被折叠的 条评论
为什么被折叠?



