PermissionServer.php 932 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace App\Servers\Common;
  3. use App\Models\SysModels\Menu;
  4. /**
  5. * 权限验证
  6. */
  7. class PermissionServer
  8. {
  9. /**
  10. * 后台权限检查
  11. * @param $role_id
  12. * @param $clientRoute
  13. * @return bool
  14. */
  15. public static function verifyAuth($role_id, $clientRoute){
  16. //跳过权限认证的路由
  17. $url_list = [
  18. 'common.sts',
  19. ];
  20. if (in_array($clientRoute, $url_list) || $role_id == 0) {
  21. return true;
  22. }
  23. $where = [['url_name',$clientRoute], ['status',1], ['is_del',0]];
  24. $client_id = Menu::where($where)->value('id');
  25. if (empty($client_id)) {
  26. return false;
  27. }
  28. //获取该角色的权限节点
  29. $url_ids = MenuServer::creatServer()->getRole($role_id);
  30. if (empty($url_ids) || !in_array($client_id, $url_ids)) {
  31. return false;
  32. }
  33. return true;
  34. }
  35. }