添加知识库权限控制功能

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: ruoyi:
# 名称 # 名称
@@ -161,6 +160,9 @@ tenant:
- sys_user_post - sys_user_post
- sys_user_role - sys_user_role
knowledge-role:
enable: false
# MyBatisPlus配置 # MyBatisPlus配置
# https://baomidou.com/config/ # https://baomidou.com/config/
mybatis-plus: 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.NotEmpty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.ruoyi.chat.config.KnowledgeRoleConfig;
import org.ruoyi.common.core.domain.R; import org.ruoyi.common.core.domain.R;
import org.ruoyi.common.core.domain.model.LoginUser; import org.ruoyi.common.core.domain.model.LoginUser;
import org.ruoyi.common.core.validate.AddGroup; import org.ruoyi.common.core.validate.AddGroup;
@@ -49,6 +50,8 @@ public class KnowledgeController extends BaseController {
private final IKnowledgeFragmentService fragmentService; private final IKnowledgeFragmentService fragmentService;
private final KnowledgeRoleConfig knowledgeRoleConfig;
/** /**
* 根据用户信息查询本地知识库 * 根据用户信息查询本地知识库
*/ */
@@ -72,11 +75,11 @@ public class KnowledgeController extends BaseController {
LoginUser loginUser = LoginHelper.getLoginUser(); LoginUser loginUser = LoginHelper.getLoginUser();
// 管理员跳过权限 // 管理员跳过权限
if (!loginUser.getUserId().equals(1L)) { if (loginUser.getUserId().equals(1L) || !knowledgeRoleConfig.getEnable()) {
return knowledgeInfoService.queryPageListByRole(pageQuery);
} else {
bo.setUid(LoginHelper.getUserId()); bo.setUid(LoginHelper.getUserId());
return knowledgeInfoService.queryPageList(bo, pageQuery); return knowledgeInfoService.queryPageList(bo, pageQuery);
} else {
return knowledgeInfoService.queryPageListByRole(pageQuery);
} }
} }