添加知识库权限控制功能

This commit is contained in:
violateer
2025-07-20 10:17:50 +08:00
parent a99344813f
commit 999282210e
3 changed files with 26 additions and 4 deletions

View File

@@ -1,4 +1,3 @@
# 项目相关配置
ruoyi:
# 名称
@@ -161,6 +160,9 @@ tenant:
- sys_user_post
- sys_user_role
knowledge-role:
enable: false
# MyBatisPlus配置
# https://baomidou.com/config/
mybatis-plus:

View File

@@ -0,0 +1,17 @@
package org.ruoyi.chat.config;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
/**
* @Description:
* @Author: violateer
* @Date: 2025/7/20
*/
@Data
@Component
public class KnowledgeRoleConfig {
@Value("${knowledge-role.enable}")
private Boolean enable;
}

View File

@@ -5,6 +5,7 @@ import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.ruoyi.chat.config.KnowledgeRoleConfig;
import org.ruoyi.common.core.domain.R;
import org.ruoyi.common.core.domain.model.LoginUser;
import org.ruoyi.common.core.validate.AddGroup;
@@ -49,6 +50,8 @@ public class KnowledgeController extends BaseController {
private final IKnowledgeFragmentService fragmentService;
private final KnowledgeRoleConfig knowledgeRoleConfig;
/**
* 根据用户信息查询本地知识库
*/
@@ -72,11 +75,11 @@ public class KnowledgeController extends BaseController {
LoginUser loginUser = LoginHelper.getLoginUser();
// 管理员跳过权限
if (!loginUser.getUserId().equals(1L)) {
return knowledgeInfoService.queryPageListByRole(pageQuery);
} else {
if (loginUser.getUserId().equals(1L) || !knowledgeRoleConfig.getEnable()) {
bo.setUid(LoginHelper.getUserId());
return knowledgeInfoService.queryPageList(bo, pageQuery);
} else {
return knowledgeInfoService.queryPageListByRole(pageQuery);
}
}