欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

thinkphp验证用户是否登录的问题?

程序员文章站 2024-01-17 20:22:10
...
大家是怎样验证的呢?在每个Action里都验证一次?还是写在某个公共函数里调用?

回复讨论(解决方案)

一般来说都是调用的吧

不过我现在是这么做的 登录后存cookie 需要用的php文件或者具体某个位置验证是否存在这个cookie

一般来说都是调用的吧

不过我现在是这么做的 登录后存cookie 需要用的php文件或者具体某个位置验证是否存在这个cookie
嗯,这样是可以的。只是觉得麻烦。我在common通用函数中,加上验证用户的方法,通过判断a和m的值,是否调用验证用户的方法。但因为我在登录界面加了个验证码,一调用,验证码就出不来了。想找个更方便的方法。

可以写个公共类继承

一般我是这样做的:

class BaseAction extends Action{  function _initialize(){     if(!in_array(MODEL_NAME.'_'.ACTION_NAME,explode(',',"Public/login,Public/LoginOn,Public/verify"))){     if(!isset($_SESSION['login]) !! empty(session('login')))            $this->redirect("/login");    }  }}

可能代码有错哈,

一般我是这样做的:

class BaseAction extends Action{  function _initialize(){     if(!in_array(MODEL_NAME.'_'.ACTION_NAME,explode(',',"Public/login,Public/LoginOn,Public/verify"))){     if(!isset($_SESSION['login]) !! empty(session('login')))            $this->redirect("/login");    }  }}

可能代码有错哈,
谢谢哈,这个可行,刚试了下,之前没想到验证码其实也是调用了一个model下的action。代码有点小错误,“_”应该换成“/”。