diff --git a/application/src/main/java/org/thingsboard/server/controller/AssetProfileController.java b/application/src/main/java/org/thingsboard/server/controller/AssetProfileController.java index 72223f129a..8f0b7480ab 100644 --- a/application/src/main/java/org/thingsboard/server/controller/AssetProfileController.java +++ b/application/src/main/java/org/thingsboard/server/controller/AssetProfileController.java @@ -236,10 +236,10 @@ public class AssetProfileController extends BaseController { @Parameter(description = "A list of asset profile ids, separated by comma ','", array = @ArraySchema(schema = @Schema(type = "string")), required = true) @RequestParam("assetProfileIds") String[] strAssetProfileIds) throws ThingsboardException, ExecutionException, InterruptedException { checkArrayParameter("assetProfileIds", strAssetProfileIds); - if (!accessControlService.hasPermission(getCurrentUser(), Resource.ASSET_PROFILE, Operation.READ)) { + SecurityUser user = getCurrentUser(); + if (!accessControlService.hasPermission(user, Resource.ASSET_PROFILE, Operation.READ)) { return Collections.emptyList(); } - SecurityUser user = getCurrentUser(); TenantId tenantId = user.getTenantId(); List assetProfileIds = new ArrayList<>(); for (String strAssetProfileId : strAssetProfileIds) { diff --git a/application/src/main/java/org/thingsboard/server/controller/DeviceProfileController.java b/application/src/main/java/org/thingsboard/server/controller/DeviceProfileController.java index fd0cafb3ec..7092a48c59 100644 --- a/application/src/main/java/org/thingsboard/server/controller/DeviceProfileController.java +++ b/application/src/main/java/org/thingsboard/server/controller/DeviceProfileController.java @@ -292,10 +292,10 @@ public class DeviceProfileController extends BaseController { @Parameter(description = "A list of device profile ids, separated by comma ','", array = @ArraySchema(schema = @Schema(type = "string")), required = true) @RequestParam("deviceProfileIds") String[] strDeviceProfileIds) throws ThingsboardException, ExecutionException, InterruptedException { checkArrayParameter("deviceProfileIds", strDeviceProfileIds); - if (!accessControlService.hasPermission(getCurrentUser(), Resource.DEVICE_PROFILE, Operation.READ)) { + SecurityUser user = getCurrentUser(); + if (!accessControlService.hasPermission(user, Resource.DEVICE_PROFILE, Operation.READ)) { return Collections.emptyList(); } - SecurityUser user = getCurrentUser(); TenantId tenantId = user.getTenantId(); List deviceProfileIds = new ArrayList<>(); for (String strDeviceProfileId : strDeviceProfileIds) { diff --git a/application/src/main/java/org/thingsboard/server/service/security/permission/TenantAdminPermissions.java b/application/src/main/java/org/thingsboard/server/service/security/permission/TenantAdminPermissions.java index 7a824ca735..9baf24e7d9 100644 --- a/application/src/main/java/org/thingsboard/server/service/security/permission/TenantAdminPermissions.java +++ b/application/src/main/java/org/thingsboard/server/service/security/permission/TenantAdminPermissions.java @@ -63,6 +63,11 @@ public class TenantAdminPermissions extends AbstractPermissions { public static final PermissionChecker tenantEntityPermissionChecker = new PermissionChecker() { + @Override + public boolean hasPermission(SecurityUser user, Operation operation) { + return true; + } + @Override public boolean hasPermission(SecurityUser user, Operation operation, EntityId entityId, HasTenantId entity) { if (!user.getTenantId().equals(entity.getTenantId())) {