CheckLogin.php 991B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. use App\Common\Api;
  5. class CheckLogin
  6. {
  7. /**
  8. * Handle an incoming request.
  9. *
  10. * @param \Illuminate\Http\Request $request
  11. * @param \Closure $next
  12. * @return mixed
  13. */
  14. public function handle($request, Closure $next)
  15. {
  16. //登录鉴权 session内用户是否存在,存在则通过,不存在则回调到登录界面
  17. $userInfo = $request->session()->get('userInfo');
  18. if(empty($userInfo)){
  19. echo Api::json(config('code.login_timeout'), trans('msg.login_timeout'));
  20. exit;
  21. }
  22. //超管则按照入参传入corp_id,普通管理员则篡改为管理员所属的企业ID
  23. $params = $request->all();
  24. if($userInfo['is_admin'] == 1){
  25. $request->merge(['corp_id'=>$params['corp_id']]);
  26. } else {
  27. $request->merge(['corp_id'=>$userInfo['corp_id']]);
  28. }
  29. return $next($request);
  30. }
  31. }