route()->getName();//获取当前路由 //获取token $m_id = $request->input('m_id',0); $token = $request->input('token'); if(empty($token)){ $token=$request->header('Authorization'); } $redisServer = RedisDataServer::creatServer(); //该路由不需要验证 if (in_array($clientRoute,$noAuth)){ if( $token){ $member = $redisServer->getData( 'login_' . $m_id, 'json'); if (empty($member)) { $member = Member::where('id', $m_id)->where('is_del',0)->select(['id', 'phone', 'nickname','head_img', 'token_str'])->first(); } //用户信息缓存30秒 if($member){ $redisServer->setData('login_' . $m_id, $member, 'json', 30); $request->member = $member; }else{ $request->member = ['id'=>0]; } }else{ $request->member = ['id'=>0]; } }else{ if(empty($m_id) || empty($token)){ return response()->json(['code' => 401, 'msg' => '缺少认证信息']); } //获取当前用户 $member = $redisServer->getData( 'login_' . $m_id, 'json'); if (empty($member)) { $member = Member::where('id', $m_id)->where('is_del',0)->select(['id', 'phone', 'nickname', 'token_str','head_img'])->first(); if(empty($member)){ return response()->json(['code' => 401, 'msg' => '认证信息已过期']); } if ($member['token_str'] != $token) { return response()->json(['code' => 401, 'msg' => '认证信息已过期']); } //用户信息缓存 $redisServer->setData('login_' . $m_id, $member, 'json', 600); }else{ if ($member['token_str'] != $token) { return response()->json(['code' => 401, 'msg' => '认证信息已过期']); } } $request->member = $member; } //记录访问日志 MemberLogsServer::write($clientRoute); return $next($request); } }