| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- // +----------------------------------------------------------------------
- // | [ WE CAN DO IT MORE SIMPLE ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2018-2020 rights reserved.
- // +----------------------------------------------------------------------
- // | Author: TABLE ME
- // +----------------------------------------------------------------------
- // | Date: 2020-08-30 14:59
- // +----------------------------------------------------------------------
- namespace app\api\middleware;
- use app\Request;
- use app\model\api\User as UserModel;
- use Firebase\JWT\JWT;
- use library\exceptions\AuthException;
- use library\interfaces\MiddlewareInterface;
- use think\facade\Env;
- class UserMiddleware implements MiddlewareInterface
- {
- public function handle(Request $request, \Closure $next)
- {
- $token =$request->request('token');
- $userData = $this->checkUser($token);
- $request->user = $userData;
- return $next($request);
- }
- /**
- * 检查数据是否正常
- * @param $secret_key
- */
- private function checkUser($token) {
- if(empty($token)) {
- throw new AuthException('用户登录凭证错误', -1);
- }
- try{
- $memData = (new UserModel)
- ->where('token',$token)
- ->find();
- if(empty($memData)) {
- throw new AuthException('用户不存在', -1);
- }
- if($memData['status']==0) {
- throw new AuthException('用户审核中', -1);
- }
- if($memData['status']==-1) {
- throw new AuthException('用户已被禁用', -1);
- }
- return $memData->toArray();
- }catch (\Throwable $e) {
- throw new AuthException('系统错误,请重新登录', -1);
- }
- }
- }
|