素材牛VIP会员
想用thinkphp实现类似拦截器的功能,应该如何使用?
 阿***斤  分类:ThinkPHP  人气:685  回帖:1  发布于6年前 收藏

本人刚接触thinkphp不久,其实想做的事情很简单,就是一个基于session的用户登录验证,这个验证不想写在每一个action里面,希望能在所有action执行前去做这个验证,然后跳转到登录页。
我自己网上也查了一些资料,看到有_before_这个用法,但是针对某一个action的,并非全局的。还看到了_initializa()方法,这个方法是可以在所有action执行前去执行,但是该方法执行完毕后该怎么跳出?让后面的action不执行。

 标签:thinkphp

讨论这个帖子(1)垃圾回帖将一律封号处理……

Lv5 码农
ah***xr 软件测试工程师 6年前#1

既然知道了_initializa()方法是在class里面第一个被执行的,就在这里判断用户session即可,未登录则$this->redirect('/member/login');
注意$this->redirect()和redirect()是不一样的,前者是直接跳到某控制器的某方法,后者是跳转至某个完整的网址.

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取