本人刚接触thinkphp不久,其实想做的事情很简单,就是一个基于session的用户登录验证,这个验证不想写在每一个action里面,希望能在所有action执行前去做这个验证,然后跳转到登录页。 我自己网上也查了一些资料,看到有_before_这个用法,但是针对某一个action的,并非全局的。还看到了_initializa()方法,这个方法是可以在所有action执行前去执行,但是该方法执行完毕后该怎么跳出?让后面的action不执行。
既然知道了_initializa()方法是在class里面第一个被执行的,就在这里判断用户session即可,未登录则$this->redirect('/member/login'); 注意$this->redirect()和redirect()是不一样的,前者是直接跳到某控制器的某方法,后者是跳转至某个完整的网址.
欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。 温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。