我新写了一个检查权限的方法,如何在运行一个action时先运行它?Thinkphp
就是我之前写了好多控制器好多方法了,可是之前只用一个账户登陆了,没有想到权限问题,现在想加上用户管理,在运行一个方法前先验证是否有该方法的权限,请问该如何操作?Think...
就是我之前写了好多控制器好多方法了,可是之前只用一个账户登陆了,没有想到权限问题,现在想加上用户管理,在运行一个方法前先验证是否有该方法的权限,请问该如何操作?Thinkphp
展开
1个回答
2018-06-07 · 知道合伙人互联网行家
关注
展开全部
我觉的你对thinkphp的model理解不大对,tp的model和你说的ci的model是不一样的
tp里的model是用来封装数据库模型的,而你要实现的是控制用户请求,这已经属于控制器的范畴了,所以不能这样$a = M('isonline');而应该是写一个全局的action,比如globalAction,让它继承tp的action,然后在 globalAction的_initialize()方法中session判断,
然后所有的需要权限判断的Action都继承globalAction,而不是系统的acton,这样每次实例化action的时候都会先检查用户session
我是个初学者,刚接触thinkphp没些天,理解的也不是很透彻,但tp源码就是这么写的,系统Action的构造函数:
public function __construct()
{
//实例化视图类
$this->view = Think::instance('View');
//控制器初始化
if(method_exists($this,'_initialize'))
$this->_initialize();
}
它会检查是否有_initialize方法。。。,有的话就调用initialize
tp里的model是用来封装数据库模型的,而你要实现的是控制用户请求,这已经属于控制器的范畴了,所以不能这样$a = M('isonline');而应该是写一个全局的action,比如globalAction,让它继承tp的action,然后在 globalAction的_initialize()方法中session判断,
然后所有的需要权限判断的Action都继承globalAction,而不是系统的acton,这样每次实例化action的时候都会先检查用户session
我是个初学者,刚接触thinkphp没些天,理解的也不是很透彻,但tp源码就是这么写的,系统Action的构造函数:
public function __construct()
{
//实例化视图类
$this->view = Think::instance('View');
//控制器初始化
if(method_exists($this,'_initialize'))
$this->_initialize();
}
它会检查是否有_initialize方法。。。,有的话就调用initialize
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询