CheckRole.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. class CheckRole
  5. {
  6. /**
  7. * @param \Illuminate\Http\Request $request
  8. * @param Closure $next
  9. */
  10. public function handle($request, Closure $next)
  11. {
  12. $admin = $request->session()->get('admin');
  13. //获取当前管理员角色
  14. $roles = $admin->roles;
  15. if ($roles->isEmpty()) {
  16. return redirect('403');
  17. }
  18. // 二挡子账号ID - 客服 - 普通管理员
  19. $whiteListId = [11];
  20. $hidden = $roles->each(function ($role) use ($whiteListId, $request) {
  21. if (in_array($role->id, $whiteListId)) {
  22. switch ($role->id) {
  23. case 11:
  24. $request->session()->put('hidden', ['is_hidden' => 'service']);
  25. break;
  26. }
  27. }
  28. });
  29. // 账号ID限制 -- 管理员限制渠道
  30. $adminIds = [1,1020];
  31. if (in_array($admin->id, $adminIds)) {
  32. $request->session()->put('admin_hidden', ['is_hidden' => 'admin_channel']);
  33. }
  34. return $next($request);
  35. }
  36. }