TP框架中如何使用SESSION限制登录?
之前总是被问题今天才明白,最高效的来做页面访问限制问题。
OOP思想中的继承特性,实现验证,是否已经登录,不必每个页面都进行判断。
实现如下:
继承Controller
CommonController
<?php /** * User:... */ namespace Home\Controller; use Think\Controller; /** * 通用控制器 * 主要用于验证是否登陆 以及 用户权限 * @package Home\Controller */ class CommonController extends Controller { /* 定义用户id */ public static $userid = ''; /** * 自动执行 */ public function _initialize() { // 判断用户是否登录 if (session('uid')) { $this->userid = session('uid'); } else { $this->error('对不起,您还没有登录,正跳转至登录面...', U('Login/login')); } } }
限制登录的页面
<?php namespace Home\Controller; use Think\Controller; /** * 首页控制器 * @package Home\Controller */ class IndexController extends CommonController { /** * 此处直接继承commonController 系统首页 */ public function index(){ // 获取当前账户的登录信息 $info = M('users')->field('loginnum')->where(array('id' => parent::$userid))->find(); $this->assign('info', $info); $this->assign('SERVER_SOFTWARE', $_SERVER['SERVER_SOFTWARE']); $this->display(); } }
是不是恍然大明白啦?哈哈