| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | <?phpnamespace app\http\middleware;use app\hander\HelpHander;use think\Db;class Auth{    public function handle($request, \Closure $next)    {        $token = $request->param('token');        $userId = $request->param('userId');        if(empty($token) || empty($userId)){            HelpHander::error('登录信息已失效,请重新登录',-100);        }        $arr = explode("9", $token);        if (empty($arr)||count($arr)!=2) {            HelpHander::error('登录信息失效,请重新登录',-100);        }        //八进制转十进制        $userid = octdec($arr[0]);        if (empty($userid)) {            HelpHander::error('登录信息失效,请重新登录',-100);        }        if($userId != $userid){            HelpHander::error('登录信息失效,请重新登录',-100);        }        $ret = Db::name('token')            ->where('token',$token)            ->value('user_id');        if(!$ret){            HelpHander::error('登录信息失效,请重新登录',-100);        }        if($userId != $ret){            HelpHander::error('登录信息失效,请重新登录',-100);        }        $tokeninfo = Db::name('token')            ->where('token',$token)            ->where('user_id',$userId)            ->find();        if(!$tokeninfo){            HelpHander::error('登录信息已失效,请重新登录',-100);        }        // 检查用户是否被禁用        $user = Db::name('user')->where('id',$userId)->where('del',0)->where('enable',1)->find();        if(!$user){            HelpHander::error('登录信息已失效,请重新登录',-100);        }        return $next($request);    }}
 |