ThinkPHP - 每个操作都检测用户是否登录

TP提供了一个自动执行的函数_initialize(), 你创建一个公共控制器CommonAction.class.php文件.

  • 定义了此方法,不能存在构造方法__construct()
<?php
/**
* +-------------------------------------------------------
* |公共控制器
* |此后的模块,如果需要判断是否登录的化,直接继承此控制器
* |此控制器直接继承核心控制器
* +-------------------------------------------------------
*/
class CommandAction extends Action{
	/**
	 * 初始化方法
	 * @return  其余控制器继承此方法,进行判断登录
	 */
	public function _initialize(){
		//判断是否存在登录session
		//如果username不存在,且Islogin不等于1,重新调回登录页面
		if ( !session('?username') || session('IsLogin') !=  1 ) {
			//跳转回登录页面
			$this->error('您还没有登录,请登录......', '__ROOT__/Member/login');
		}
	}
}

之后所有的控制器都继承这个公共的就好 就像下面的小哥说的一样

 

posted on 2016-02-02 17:51  ultrastrong  阅读(3329)  评论(0编辑  收藏  举报