您好,匿名用户
随意问技术百科期待您的加入

想用thinkphp实现类似拦截器的功能,应该如何使用?

0 投票

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

用户头像 提问 2014年 2月15日 @ Diana 上等兵 (326 威望)
分享到:

1个回答

0 投票
 
最佳答案

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

用户头像 回复 2014年 2月15日 @ Ahri 上等兵 (292 威望)
选中 2013年 9月7日 @Diana
提一个问题:

相关问题

0 投票
1 回复 51 阅读
用户头像 提问 2012年 12月1日 @ Emiya Shirou 上等兵 (438 威望)
0 投票
1 回复 42 阅读
0 投票
1 回复 59 阅读
用户头像 提问 2012年 12月1日 @ Ezreal 上等兵 (266 威望)
0 投票
0 回复 188 阅读
+1 投票
1 回复 93 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...