feat: 支持智能体可见范围管理

- 未分类智能体按可见范围绕过分类白名单

- 提供个人、部门、公开范围配置及列表状态标签
This commit is contained in:
2026-07-31 16:45:41 +08:00
parent 527336bfc9
commit 6df3dd9981
13 changed files with 725 additions and 44 deletions

View File

@@ -75,7 +75,12 @@ public class ResourceAccessServiceImpl implements ResourceAccessService {
&& categoryPermissionService.getAccess(resourceType.getCode(), loginAccount).isAllAccess()) {
return true;
}
if (!categoryPermissionService.canAccessCategory(loginAccount, resourceType.getCode(), resource.getCreatedBy(), resource.getCategoryId())) {
// Agent 的未分类语义为“全部分类可访问”,只跳过分类白名单,不能跳过可见范围校验。
boolean agentWithoutCategoryRestriction = CategoryResourceType.AGENT == resourceType
&& resource.getCategoryId() == null;
if (!agentWithoutCategoryRestriction
&& !categoryPermissionService.canAccessCategory(
loginAccount, resourceType.getCode(), resource.getCreatedBy(), resource.getCategoryId())) {
return false;
}
VisibilityScope scope = VisibilityScope.fromOrDefault(resource.getVisibilityScope(), VisibilityScope.PRIVATE);