AuthenticateAdmin.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure,Auth;
  4. class AuthenticateAdmin
  5. {
  6. /**
  7. * Handle an incoming request.
  8. *
  9. * @param \Illuminate\Http\Request $request
  10. * @param \Closure $next
  11. * @param string|null $guard
  12. * @return mixed
  13. */
  14. public function handle($request, Closure $next)
  15. {
  16. if(Auth::guard('admin')->guest()){
  17. exit("你没有登录<a target='_parent' href='/admin/logout?returnUrl=" . urlencode('http://'.$_SERVER['HTTP_HOST']) . "'>请登录</a>");
  18. }
  19. $role = session(LOGIN_MARK_SESSION_KEY);
  20. $user =Auth::guard('admin')->user();
  21. if(!$user['is_root']) {
  22. if(!isset($role['role']) || !$role['role']) {
  23. exit("你没有操作权限<a target='_parent' href='/admin/logout?returnUrl=" . urlencode('http://'.$_SERVER['HTTP_HOST']) . "'>重新登录</a>");
  24. }
  25. if(!array_key_exists($path,$role['role'])) {
  26. exit("你没有操作权限<a target='_parent' href='/admin/logout?returnUrl=" . urlencode('http://'.$_SERVER['HTTP_HOST']) . "'>重新登录</a>");
  27. }
  28. }
  29. return $next($request);
  30. }
  31. }