🔨 修改配置.

This commit is contained in:
lijiahangmax
2025-09-25 11:31:57 +08:00
parent 364120c143
commit 24ad1f64df
85 changed files with 449 additions and 449 deletions

View File

@@ -24,7 +24,6 @@ package org.dromara.visor.module.terminal.handler.guacd;
import cn.orionsec.kit.lang.support.Attempt;
import cn.orionsec.kit.lang.utils.Objects1;
import cn.orionsec.kit.lang.utils.Valid;
import cn.orionsec.kit.lang.utils.collect.Lists;
import cn.orionsec.kit.lang.utils.io.Streams;
import lombok.Getter;
@@ -36,6 +35,7 @@ import org.apache.guacamole.net.GuacamoleTunnel;
import org.apache.guacamole.net.InetGuacamoleSocket;
import org.apache.guacamole.protocol.*;
import org.dromara.visor.common.constant.Const;
import org.dromara.visor.common.utils.Assert;
import org.dromara.visor.module.terminal.handler.guacd.constant.GuacdConst;
import org.dromara.visor.module.terminal.handler.guacd.constant.GuacdProtocol;
@@ -103,8 +103,8 @@ public class GuacdTunnel implements IGuacdTunnel {
@Override
public void exec() throws GuacdException {
Valid.notNull(socket, "server is null");
Valid.notNull(streamHandler, "streamHandler is null");
Assert.notNull(socket, "server is null");
Assert.notNull(streamHandler, "streamHandler is null");
// 读取
try {
GuacamoleReader reader = tunnel.acquireReader();

View File

@@ -33,7 +33,7 @@ import cn.orionsec.kit.net.host.sftp.SftpFile;
import lombok.extern.slf4j.Slf4j;
import org.dromara.visor.common.constant.Const;
import org.dromara.visor.common.constant.ErrorMessage;
import org.dromara.visor.common.utils.Valid;
import org.dromara.visor.common.utils.Assert;
import org.dromara.visor.module.terminal.handler.terminal.model.TerminalChannelProps;
import org.dromara.visor.module.terminal.handler.terminal.model.config.TerminalSessionSftpConfig;
import org.dromara.visor.module.terminal.handler.terminal.model.response.SftpFileVO;
@@ -100,14 +100,14 @@ public class SftpSession extends AbstractTerminalSession<ISftpTerminalSender, Te
@Override
public void mkdir(String path) {
path = Valid.checkNormalize(path);
path = Assert.checkNormalize(path);
// 创建文件夹
executor.makeDirectories(path);
}
@Override
public void touch(String path) {
path = Valid.checkNormalize(path);
path = Assert.checkNormalize(path);
// 创建文件
executor.touch(path);
}
@@ -115,7 +115,7 @@ public class SftpSession extends AbstractTerminalSession<ISftpTerminalSender, Te
@Override
public void move(String source, String target) {
// 计算路径
source = Valid.checkNormalize(source);
source = Assert.checkNormalize(source);
target = SftpFileUtils.getAbsoluteTargetPath(source, target);
// 移动
executor.move(source, target);
@@ -125,34 +125,34 @@ public class SftpSession extends AbstractTerminalSession<ISftpTerminalSender, Te
public void remove(String[] paths) {
// 删除
Arrays.stream(paths)
.map(Valid::checkNormalize)
.map(Assert::checkNormalize)
.forEach(executor::remove);
}
@Override
public void truncate(String path) {
path = Valid.checkNormalize(path);
path = Assert.checkNormalize(path);
// 截断
executor.truncate(path);
}
@Override
public void changeMode(String path, int mod) {
path = Valid.checkNormalize(path);
path = Assert.checkNormalize(path);
// 修改权限
executor.changeMode(path, mod);
}
@Override
public void changeOwner(String path, int uid) {
path = Valid.checkNormalize(path);
path = Assert.checkNormalize(path);
// 修改归属
executor.changeOwner(path, uid);
}
@Override
public void changeGroup(String path, int gid) {
path = Valid.checkNormalize(path);
path = Assert.checkNormalize(path);
// 修改分组
executor.changeGroup(path, gid);
}
@@ -169,7 +169,7 @@ public class SftpSession extends AbstractTerminalSession<ISftpTerminalSender, Te
@Override
public String getContent(String path) {
path = Valid.checkNormalize(path);
path = Assert.checkNormalize(path);
try {
// 获取文件
SftpFile file = executor.getFile(path);
@@ -190,7 +190,7 @@ public class SftpSession extends AbstractTerminalSession<ISftpTerminalSender, Te
@Override
public void setContent(String path, String content) {
path = Valid.checkNormalize(path);
path = Assert.checkNormalize(path);
// 写入
try {
executor.write(path, Strings.bytes(content, config.getFileContentCharset()));
@@ -201,9 +201,9 @@ public class SftpSession extends AbstractTerminalSession<ISftpTerminalSender, Te
@Override
public void checkEditPermission(String path) {
path = Valid.checkNormalize(path);
path = Assert.checkNormalize(path);
// 检查文件是否存在
Valid.isTrue(executor.isExist(path), ErrorMessage.FILE_ABSENT);
Assert.isTrue(executor.isExist(path), ErrorMessage.FILE_ABSENT);
}
@Override

View File

@@ -24,7 +24,6 @@ package org.dromara.visor.module.terminal.handler.transfer.session;
import cn.orionsec.kit.lang.define.wrapper.Ref;
import cn.orionsec.kit.lang.utils.Threads;
import cn.orionsec.kit.lang.utils.Valid;
import cn.orionsec.kit.lang.utils.collect.Lists;
import cn.orionsec.kit.lang.utils.io.Streams;
import cn.orionsec.kit.net.host.SessionStore;
@@ -33,6 +32,7 @@ import lombok.extern.slf4j.Slf4j;
import org.dromara.visor.common.constant.Const;
import org.dromara.visor.common.constant.ErrorMessage;
import org.dromara.visor.common.session.config.SshConnectConfig;
import org.dromara.visor.common.utils.Assert;
import org.dromara.visor.module.terminal.define.TerminalThreadPools;
import org.dromara.visor.module.terminal.define.operator.TerminalOperatorType;
import org.dromara.visor.module.terminal.handler.transfer.enums.TransferReceiver;
@@ -78,9 +78,9 @@ public class DownloadSession extends TransferSession implements StreamingRespons
this.init();
// 检查文件是否存在
SftpFile file = executor.getFile(path);
Valid.notNull(file, ErrorMessage.FILE_ABSENT);
Assert.notNull(file, ErrorMessage.FILE_ABSENT);
// 验证非文件夹
Valid.isTrue(!file.isDirectory(), ErrorMessage.UNABLE_DOWNLOAD_FOLDER);
Assert.isTrue(!file.isDirectory(), ErrorMessage.UNABLE_DOWNLOAD_FOLDER);
if ((this.fileSize = file.getSize()) == 0L) {
// 文件为空
log.info("DownloadSession.startDownload file empty channelId: {}, path: {}", channelId, path);

View File

@@ -27,7 +27,7 @@ import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import org.dromara.visor.common.constant.Const;
import org.dromara.visor.common.constant.ErrorMessage;
import org.dromara.visor.common.utils.Valid;
import org.dromara.visor.common.utils.Assert;
import org.dromara.visor.framework.security.core.utils.SecurityUtils;
import org.dromara.visor.module.infra.api.DataGroupApi;
import org.dromara.visor.module.infra.api.DataGroupUserApi;
@@ -88,7 +88,7 @@ public class CommandSnippetGroupServiceImpl implements CommandSnippetGroupServic
@Override
public Integer updateCommandSnippetGroupById(CommandSnippetGroupUpdateRequest request) {
Long id = Valid.notNull(request.getId(), ErrorMessage.ID_MISSING);
Long id = Assert.notNull(request.getId(), ErrorMessage.ID_MISSING);
log.info("CommandSnippetGroupService-updateCommandSnippetGroupById id: {}, request: {}", id, JSON.toJSONString(request));
// 重命名
DataGroupRenameDTO rename = CommandSnippetGroupConvert.MAPPER.to(request);

View File

@@ -28,7 +28,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j;
import org.dromara.visor.common.constant.ErrorMessage;
import org.dromara.visor.common.utils.Valid;
import org.dromara.visor.common.utils.Assert;
import org.dromara.visor.framework.redis.core.utils.RedisMaps;
import org.dromara.visor.framework.redis.core.utils.barrier.CacheBarriers;
import org.dromara.visor.framework.security.core.utils.SecurityUtils;
@@ -90,12 +90,12 @@ public class CommandSnippetServiceImpl implements CommandSnippetService {
@Override
public Integer updateCommandSnippetById(CommandSnippetUpdateRequest request) {
Long id = Valid.notNull(request.getId(), ErrorMessage.ID_MISSING);
Long id = Assert.notNull(request.getId(), ErrorMessage.ID_MISSING);
Long userId = SecurityUtils.getLoginUserId();
log.info("CommandSnippetService-updateCommandSnippetById id: {}, request: {}", id, JSON.toJSONString(request));
// 查询
CommandSnippetDO record = commandSnippetDAO.selectById(id);
Valid.notNull(record, ErrorMessage.DATA_ABSENT);
Assert.notNull(record, ErrorMessage.DATA_ABSENT);
// 查询数据是否冲突
CommandSnippetDO updateRecord = CommandSnippetConvert.MAPPER.to(request);
this.checkCommandSnippetPresent(updateRecord);
@@ -179,7 +179,7 @@ public class CommandSnippetServiceImpl implements CommandSnippetService {
log.info("CommandSnippetService-deleteCommandSnippetById id: {}", id);
// 检查数据是否存在
CommandSnippetDO record = commandSnippetDAO.selectById(id);
Valid.notNull(record, ErrorMessage.DATA_ABSENT);
Assert.notNull(record, ErrorMessage.DATA_ABSENT);
// 删除
int effect = commandSnippetDAO.deleteById(id);
log.info("CommandSnippetService-deleteCommandSnippetById id: {}, effect: {}", id, effect);
@@ -217,7 +217,7 @@ public class CommandSnippetServiceImpl implements CommandSnippetService {
.eq(CommandSnippetDO::getName, domain.getName());
// 检查是否存在
boolean present = commandSnippetDAO.of(wrapper).present();
Valid.isFalse(present, ErrorMessage.DATA_PRESENT);
Assert.isFalse(present, ErrorMessage.DATA_PRESENT);
}
}

View File

@@ -27,7 +27,7 @@ import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import org.dromara.visor.common.constant.Const;
import org.dromara.visor.common.constant.ErrorMessage;
import org.dromara.visor.common.utils.Valid;
import org.dromara.visor.common.utils.Assert;
import org.dromara.visor.framework.security.core.utils.SecurityUtils;
import org.dromara.visor.module.infra.api.DataGroupApi;
import org.dromara.visor.module.infra.api.DataGroupUserApi;
@@ -88,7 +88,7 @@ public class PathBookmarkGroupServiceImpl implements PathBookmarkGroupService {
@Override
public Integer updatePathBookmarkGroupById(PathBookmarkGroupUpdateRequest request) {
Long id = Valid.notNull(request.getId(), ErrorMessage.ID_MISSING);
Long id = Assert.notNull(request.getId(), ErrorMessage.ID_MISSING);
log.info("PathBookmarkGroupService-updatePathBookmarkGroupById id: {}, request: {}", id, JSON.toJSONString(request));
// 重命名
DataGroupRenameDTO rename = PathBookmarkGroupConvert.MAPPER.to(request);

View File

@@ -28,7 +28,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j;
import org.dromara.visor.common.constant.ErrorMessage;
import org.dromara.visor.common.utils.Valid;
import org.dromara.visor.common.utils.Assert;
import org.dromara.visor.framework.redis.core.utils.RedisMaps;
import org.dromara.visor.framework.redis.core.utils.barrier.CacheBarriers;
import org.dromara.visor.framework.security.core.utils.SecurityUtils;
@@ -90,12 +90,12 @@ public class PathBookmarkServiceImpl implements PathBookmarkService {
@Override
public Integer updatePathBookmarkById(PathBookmarkUpdateRequest request) {
Long id = Valid.notNull(request.getId(), ErrorMessage.ID_MISSING);
Long id = Assert.notNull(request.getId(), ErrorMessage.ID_MISSING);
Long userId = SecurityUtils.getLoginUserId();
log.info("PathBookmarkService-updatePathBookmarkById id: {}, request: {}", id, JSON.toJSONString(request));
// 查询
PathBookmarkDO record = pathBookmarkDAO.selectById(id);
Valid.notNull(record, ErrorMessage.DATA_ABSENT);
Assert.notNull(record, ErrorMessage.DATA_ABSENT);
// 查询数据是否冲突
PathBookmarkDO updateRecord = PathBookmarkConvert.MAPPER.to(request);
this.checkPathBookmarkPresent(updateRecord);
@@ -179,7 +179,7 @@ public class PathBookmarkServiceImpl implements PathBookmarkService {
log.info("PathBookmarkService-deletePathBookmarkById id: {}", id);
// 检查数据是否存在
PathBookmarkDO record = pathBookmarkDAO.selectById(id);
Valid.notNull(record, ErrorMessage.DATA_ABSENT);
Assert.notNull(record, ErrorMessage.DATA_ABSENT);
// 删除
int effect = pathBookmarkDAO.deleteById(id);
log.info("PathBookmarkService-deletePathBookmarkById id: {}, effect: {}", id, effect);
@@ -217,7 +217,7 @@ public class PathBookmarkServiceImpl implements PathBookmarkService {
.eq(PathBookmarkDO::getName, domain.getName());
// 检查是否存在
boolean present = pathBookmarkDAO.of(wrapper).present();
Valid.isFalse(present, ErrorMessage.DATA_PRESENT);
Assert.isFalse(present, ErrorMessage.DATA_PRESENT);
}
}

View File

@@ -30,8 +30,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.dromara.visor.common.constant.Const;
import org.dromara.visor.common.constant.ErrorMessage;
import org.dromara.visor.common.utils.Assert;
import org.dromara.visor.common.utils.SqlUtils;
import org.dromara.visor.common.utils.Valid;
import org.dromara.visor.framework.biz.operator.log.core.utils.OperatorLogs;
import org.dromara.visor.framework.security.core.utils.SecurityUtils;
import org.dromara.visor.module.terminal.convert.TerminalConnectLogConvert;
@@ -221,8 +221,8 @@ public class TerminalConnectLogServiceImpl implements TerminalConnectLogService
Long id = request.getId();
// 查询数据是否存在
TerminalConnectLogDO record = terminalConnectLogDAO.selectById(id);
Valid.notNull(record, ErrorMessage.LOG_ABSENT);
Valid.eq(record.getStatus(), TerminalConnectStatusEnum.CONNECTING.name(), ErrorMessage.ILLEGAL_STATUS);
Assert.notNull(record, ErrorMessage.LOG_ABSENT);
Assert.eq(record.getStatus(), TerminalConnectStatusEnum.CONNECTING.name(), ErrorMessage.ILLEGAL_STATUS);
// 设置日志参数
OperatorLogs.add(OperatorLogs.HOST_NAME, record.getHostName());
// 获取会话

View File

@@ -26,7 +26,6 @@ import cn.orionsec.kit.lang.constant.StandardContentType;
import cn.orionsec.kit.lang.define.wrapper.HttpWrapper;
import cn.orionsec.kit.lang.utils.Exceptions;
import cn.orionsec.kit.lang.utils.Strings;
import cn.orionsec.kit.lang.utils.Valid;
import cn.orionsec.kit.lang.utils.io.Files1;
import cn.orionsec.kit.lang.utils.io.Streams;
import cn.orionsec.kit.net.host.SessionStore;
@@ -37,6 +36,7 @@ import org.dromara.visor.common.constant.Const;
import org.dromara.visor.common.constant.ErrorMessage;
import org.dromara.visor.common.session.config.SshConnectConfig;
import org.dromara.visor.common.session.ssh.SessionStores;
import org.dromara.visor.common.utils.Assert;
import org.dromara.visor.framework.redis.core.utils.RedisStrings;
import org.dromara.visor.framework.security.core.utils.SecurityUtils;
import org.dromara.visor.module.asset.api.HostConnectApi;
@@ -114,7 +114,7 @@ public class TerminalSftpServiceImpl implements TerminalSftpService {
// 解析 token
String key = TerminalCacheKeyDefine.TERMINAL_SFTP_SET_CONTENT.format(token);
SftpSetContentCacheDTO cache = RedisStrings.getJson(key, TerminalCacheKeyDefine.TERMINAL_SFTP_SET_CONTENT);
Valid.notNull(cache, ErrorMessage.FILE_ABSENT);
Assert.notNull(cache, ErrorMessage.FILE_ABSENT);
// 删除缓存
RedisStrings.delete(key);
// 写入文件内容