Rbac.php 661 B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. use Illuminate\Support\Facades\Route;
  5. class Rbac
  6. {
  7. /**
  8. * Handle an incoming request.
  9. *
  10. * @param \Illuminate\Http\Request $request
  11. * @param \Closure $next
  12. * @param string|null $guard
  13. * @return mixed
  14. */
  15. public function handle($request, Closure $next)
  16. {
  17. $admin = $request->session()->get('admin');
  18. //获取当前管理员角色
  19. $roles = $admin->roles;
  20. if ($roles->isEmpty()) {
  21. return redirect('403');
  22. }
  23. //判断当前路由是否属于该管理员的权限
  24. return $next($request);
  25. }
  26. }