123456789101112131415161718192021222324252627282930313233343536 |
- <?php
- namespace app\middleware\api;
- use app\service\api\AuthServiceFacade;
- use app\service\api\UserServiceFacade;
- use laytp\BaseMiddleware;
- use think\Request;
- class Auth extends BaseMiddleware
- {
- /**
- * 执行中间件
- * @param Request $request
- * @param \Closure $next
- * @return mixed
- */
- public function handle(Request $request, \Closure $next)
- {
- global $_GPC;
- foreach ($_GET as $key => $value) {
- $_GET[$key] = $_GPC[$key] = $value;
- }
- if (AuthServiceFacade::needLogin()) {
- $initUser = UserServiceFacade::init($request->header('token'));
- if (!$initUser) return $this->error(UserServiceFacade::getError(), 10401);
- if (!UserServiceFacade::isLogin()) {
- return $this->error('登录信息已过期', 10401);
- }
- } else {
- //不需要登录的接口,也可能需要获取登录用户的信息
- UserServiceFacade::init($request->header('token'));
- }
- return $next($request);
- }
- }
|