Authenticate.php 1017 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: dingran
  5. * Date: 2019/2/19
  6. * Time: 上午11:53
  7. */
  8. namespace app\common\middleware;
  9. use app\common\traits\JsonTrait;
  10. use Illuminate\Support\Facades\Auth;
  11. class Authenticate
  12. {
  13. use JsonTrait;
  14. /**
  15. * Handle an incoming request.
  16. *
  17. * @param \Illuminate\Http\Request $request
  18. * @param \Closure $next
  19. * @param string|null $guard
  20. * @return mixed
  21. */
  22. public function handle($request, \Closure $next, $guard = null)
  23. {
  24. if (Auth::guard($guard)->guest()) {
  25. $login_path = [
  26. 'admin' => '/#/login',
  27. ];
  28. $url = empty($guard) ? '/login' : (isset($login_path[$guard]) ? $login_path[$guard] : '/login');
  29. if (strpos($_SERVER['REQUEST_URI'], '/admin/shop') !== false) {
  30. return redirect()->guest('/');
  31. }
  32. return $this->errorJson('', ['login_status' => 1, 'login_url' => $url]);
  33. }
  34. return $next($request);
  35. }
  36. }