PermissionServer.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Servers;
  3. use App\Models\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. $url_list = [
  17. 'common.total',
  18. 'common.sts',
  19. 'adminApi.shop.login_url',
  20. 'adminApi.user.get_menu',//前端登录后获取后台菜单权限id
  21. 'adminApi.statistics.count',//获取概览统计
  22. 'adminApi.statistics.curve',//获取曲线统计
  23. 'adminApi.statistics.pie_chart',//获取饼图统计
  24. 'adminApi.statistics.bar_chart',//获取柱状图统计
  25. 'adminApi.adopted.type',//认养类目
  26. ];
  27. if (in_array($clientRoute, $url_list)) {
  28. return true;
  29. }
  30. $where = [['url_name',$clientRoute]];
  31. $client_id = Menu::where($where)->value('id');
  32. if (empty($client_id)) {
  33. return false;
  34. }
  35. //获取该角色的权限节点
  36. $url_ids = MenuServer::creatServer()->getRole($role_id);
  37. if (empty($url_ids) || !in_array($client_id, $url_ids)) {
  38. return false;
  39. }
  40. return true;
  41. }
  42. }