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(); } }
是不是恍然大明白啦?哈哈