TP框架中如何使用SESSION限制登录?

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();
    }
}

是不是恍然大明白啦?哈哈

posted @ 2017-03-20 14:03  刘俊涛的博客  阅读(1548)  评论(0编辑  收藏  举报