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();
}
}
是不是恍然大明白啦?哈哈
你要保守你心,胜过保守一切。
作者:刘俊涛的博客