| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- <?php
- namespace App\Http\Middleware;
- use App\Service\LoginService;
- use Closure;
- use App\Service\TokenService;
- class CheckLogin
- {
- public function handle($request, Closure $next)
- {
- $token = $request->header('Authorization');
- if (empty($token)) return response()->json(['code' => 1,'msg' => '缺少登录凭证','data' => null]);
- //校验token
- list($bool, $return) = TokenService::verifyToken($token);
- if(! $bool) return response()->json(['code' => 1,'msg' => $return,'data' => null]);
- //人员在jwt里的信息
- $e_array = $return;
- //校验人员
- $checkResult = LoginService::checkUser($e_array);
- list($state, $msg) = $checkResult;
- if(! $state) return response()->json(['code' => 1,'msg' => $msg,'data' => null]);
- $employee = $msg;
- //人员id
- $employee_id = $employee['id'];
- //人员公司部门
- $employee = array_merge($employee, LoginService::getPersonDepart($employee_id));
- list($state, $msg) = LoginService::checkCompany($employee);
- if(! $state) return response()->json(['code' => 1,'msg' => $msg,'data' => null]);
- //人员角色 菜单权限
- $employee = array_merge($employee, LoginService::getPersonRoleAndPermissions($employee));
- //校验是否有路由权限
- // list($state, $msg) = LoginService::checkRoute($employee,$request);
- // if(! $state) return response()->json(['code' => 201,'msg' => $msg,'data' => null]);
- $request->userData = $employee;
- return $next($request);
- }
- }
|