Commit 8782cf37cc2d7ac3a0a7c9d726f1249d1d62a66a

Authored by 黄 x
1 parent 77abe7d2

fix: 角色分页查询修改,角色分页只允许超级管理员和租户管理员

@@ -2,6 +2,7 @@ package org.thingsboard.server.controller.yunteng; @@ -2,6 +2,7 @@ package org.thingsboard.server.controller.yunteng;
2 2
3 3
4 import lombok.RequiredArgsConstructor; 4 import lombok.RequiredArgsConstructor;
  5 +import org.springframework.security.access.prepost.PreAuthorize;
5 import org.springframework.util.Assert; 6 import org.springframework.util.Assert;
6 import org.springframework.web.bind.annotation.*; 7 import org.springframework.web.bind.annotation.*;
7 import org.thingsboard.server.common.data.exception.ThingsboardException; 8 import org.thingsboard.server.common.data.exception.ThingsboardException;
@@ -28,6 +29,7 @@ public class YtRoleController extends BaseController { @@ -28,6 +29,7 @@ public class YtRoleController extends BaseController {
28 private final RoleService roleService; 29 private final RoleService roleService;
29 30
30 @GetMapping(params = {PAGE_SIZE, PAGE}) 31 @GetMapping(params = {PAGE_SIZE, PAGE})
  32 + @PreAuthorize("hasAnyAuthority('SYS_ADMIN','TENANT_ADMIN')")
31 public YtPageData<RoleDTO> pageRole( 33 public YtPageData<RoleDTO> pageRole(
32 @RequestParam(PAGE_SIZE) int pageSize, 34 @RequestParam(PAGE_SIZE) int pageSize,
33 @RequestParam(PAGE) int page, 35 @RequestParam(PAGE) int page,
@@ -50,7 +52,7 @@ public class YtRoleController extends BaseController { @@ -50,7 +52,7 @@ public class YtRoleController extends BaseController {
50 if (orderType != null) { 52 if (orderType != null) {
51 queryMap.put(ORDER_TYPE, orderType.name()); 53 queryMap.put(ORDER_TYPE, orderType.name());
52 } 54 }
53 - return roleService.page(getCurrentUser().isPtSysadmin(), getCurrentUser().isPtAdmin(), getCurrentUser().getCurrentTenantId(),queryMap); 55 + return roleService.page(getCurrentUser().getCurrentTenantId(),queryMap);
54 } 56 }
55 57
56 @DeleteMapping 58 @DeleteMapping
@@ -46,8 +46,7 @@ public class RoleServiceImpl extends AbstractBaseService<RoleMapper, Role> imple @@ -46,8 +46,7 @@ public class RoleServiceImpl extends AbstractBaseService<RoleMapper, Role> imple
46 private final UserRoleMapper userRoleMapper; 46 private final UserRoleMapper userRoleMapper;
47 47
48 @Override 48 @Override
49 - public YtPageData<RoleDTO> page(  
50 - boolean isSysadmin, boolean isPlatformAdmin, String tenantId, Map<String, Object> queryMap) { 49 + public YtPageData<RoleDTO> page(String tenantId, Map<String, Object> queryMap) {
51 IPage<Role> roleIPage = 50 IPage<Role> roleIPage =
52 baseMapper.selectPage( 51 baseMapper.selectPage(
53 getPage(queryMap, "create_time", false), 52 getPage(queryMap, "create_time", false),
@@ -55,12 +54,8 @@ public class RoleServiceImpl extends AbstractBaseService<RoleMapper, Role> imple @@ -55,12 +54,8 @@ public class RoleServiceImpl extends AbstractBaseService<RoleMapper, Role> imple
55 .lambda() 54 .lambda()
56 .eq(queryMap.get("status") != null, Role::isEnabled, queryMap.get("status")) 55 .eq(queryMap.get("status") != null, Role::isEnabled, queryMap.get("status"))
57 .eq(queryMap.get("roleType") != null, Role::getRoleType, queryMap.get("roleType")) 56 .eq(queryMap.get("roleType") != null, Role::getRoleType, queryMap.get("roleType"))
58 - .ne(queryMap.get("roleType") == null, Role::getRoleType, RoleEnum.TENANT_ADMIN)  
59 - .ne(  
60 - queryMap.get("roleType") == null && isPlatformAdmin,  
61 - Role::getRoleType,  
62 - RoleEnum.SYS_ADMIN)  
63 - .eq(!isSysadmin, Role::getTenantId, tenantId) 57 + .ne(queryMap.get("roleType") == null, Role::getRoleType, RoleEnum.TENANT_ADMIN.name())
  58 + .eq(Role::getTenantId, tenantId)
64 .like( 59 .like(
65 queryMap.get("roleName") != null, 60 queryMap.get("roleName") != null,
66 Role::getName, 61 Role::getName,
@@ -10,7 +10,7 @@ import java.util.Map; @@ -10,7 +10,7 @@ import java.util.Map;
10 import java.util.Set; 10 import java.util.Set;
11 11
12 public interface RoleService { 12 public interface RoleService {
13 - YtPageData<RoleDTO> page(boolean isSysadmin, boolean isPlatformAdmin, String tenantId, Map<String, Object> queryMap); 13 + YtPageData<RoleDTO> page(String tenantId, Map<String, Object> queryMap);
14 14
15 boolean deleteRole(String[] roleIds,String tenantId); 15 boolean deleteRole(String[] roleIds,String tenantId);
16 16