优化模块值.

This commit is contained in:
lijiahang
2024-10-15 17:41:39 +08:00
parent 6e3abab232
commit 3e41e17367
25 changed files with 103 additions and 101 deletions

View File

@@ -76,7 +76,7 @@ public class TerminalConnectLogController {
@PostMapping("/session")
@Operation(summary = "查询全部终端连接会话")
@PreAuthorize("@ss.hasPermission('asset:terminal-connect-session:management:query')")
public List<TerminalConnectLogVO> getHostConnectSessions(@Validated @RequestBody TerminalConnectLogQueryRequest request) {
public List<TerminalConnectLogVO> getTerminalConnectSessions(@Validated @RequestBody TerminalConnectLogQueryRequest request) {
return terminalConnectLogService.getTerminalConnectSessions(request);
}

View File

@@ -19,7 +19,7 @@ import com.orion.visor.framework.log.core.annotation.IgnoreLog;
import com.orion.visor.framework.log.core.enums.IgnoreLogMode;
import com.orion.visor.framework.web.core.annotation.RestWrapper;
import com.orion.visor.module.asset.entity.vo.HostTerminalThemeVO;
import com.orion.visor.module.asset.service.HostTerminalService;
import com.orion.visor.module.asset.service.TerminalService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
@@ -39,36 +39,36 @@ import java.util.List;
* @version 1.0.0
* @since 2023-9-20 11:55
*/
@Tag(name = "asset - 主机终端服务")
@Tag(name = "asset - 终端服务")
@Slf4j
@Validated
@RestWrapper
@RestController
@RequestMapping("/asset/host-terminal")
public class HostTerminalController {
@RequestMapping("/asset/terminal")
public class TerminalController {
@Resource
private HostTerminalService hostTerminalService;
private TerminalService terminalService;
@IgnoreLog(IgnoreLogMode.ALL)
@GetMapping("/themes")
@Operation(summary = "获取主机终端主题")
@Operation(summary = "获取终端主题")
public List<HostTerminalThemeVO> getTerminalThemes() {
return hostTerminalService.getTerminalThemes();
return terminalService.getTerminalThemes();
}
@GetMapping("/access")
@Operation(summary = "获取主机终端 accessToken")
@PreAuthorize("@ss.hasPermission('asset:host-terminal:access')")
@Operation(summary = "获取终端 accessToken")
@PreAuthorize("@ss.hasPermission('asset:terminal:access')")
public String getTerminalAccessToken() {
return hostTerminalService.getTerminalAccessToken();
return terminalService.getTerminalAccessToken();
}
@GetMapping("/transfer")
@Operation(summary = "获取主机终端 transferToken")
@PreAuthorize("@ss.hasPermission('asset:host-terminal:access')")
@Operation(summary = "获取终端 transferToken")
@PreAuthorize("@ss.hasPermission('asset:terminal:access')")
public String getTerminalTransferToken() {
return hostTerminalService.getTerminalTransferToken();
return terminalService.getTerminalTransferToken();
}
}

View File

@@ -31,30 +31,30 @@ import static com.orion.visor.framework.biz.operator.log.core.enums.OperatorRisk
* @version 1.0.0
* @since 2023/10/10 17:30
*/
@Module("asset:host-terminal")
@Module("asset:terminal")
public class HostTerminalOperatorType extends InitializingOperatorTypes {
public static final String CONNECT = "host-terminal:connect";
public static final String CONNECT = "terminal:connect";
public static final String DELETE_SFTP_LOG = "host-terminal:delete-sftp-log";
public static final String DELETE_SFTP_LOG = "terminal:delete-sftp-log";
public static final String SFTP_MKDIR = "host-terminal:sftp-mkdir";
public static final String SFTP_MKDIR = "terminal:sftp-mkdir";
public static final String SFTP_TOUCH = "host-terminal:sftp-touch";
public static final String SFTP_TOUCH = "terminal:sftp-touch";
public static final String SFTP_MOVE = "host-terminal:sftp-move";
public static final String SFTP_MOVE = "terminal:sftp-move";
public static final String SFTP_REMOVE = "host-terminal:sftp-remove";
public static final String SFTP_REMOVE = "terminal:sftp-remove";
public static final String SFTP_TRUNCATE = "host-terminal:sftp-truncate";
public static final String SFTP_TRUNCATE = "terminal:sftp-truncate";
public static final String SFTP_CHMOD = "host-terminal:sftp-chmod";
public static final String SFTP_CHMOD = "terminal:sftp-chmod";
public static final String SFTP_SET_CONTENT = "host-terminal:sftp-set-content";
public static final String SFTP_SET_CONTENT = "terminal:sftp-set-content";
public static final String SFTP_UPLOAD = "host-terminal:sftp-upload";
public static final String SFTP_UPLOAD = "terminal:sftp-upload";
public static final String SFTP_DOWNLOAD = "host-terminal:sftp-download";
public static final String SFTP_DOWNLOAD = "terminal:sftp-download";
public static final List<String> SFTP_TYPES = Lists.of(
SFTP_MKDIR,

View File

@@ -41,7 +41,7 @@ import com.orion.visor.module.asset.handler.host.exec.command.model.ExecCommandD
import com.orion.visor.module.asset.handler.host.exec.command.model.ExecCommandHostDTO;
import com.orion.visor.module.asset.handler.host.exec.log.manager.ExecLogManager;
import com.orion.visor.module.asset.handler.host.jsch.SessionStores;
import com.orion.visor.module.asset.service.HostTerminalService;
import com.orion.visor.module.asset.service.TerminalService;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
@@ -64,7 +64,7 @@ public abstract class BaseExecCommandHandler implements IExecCommandHandler {
private static final ExecLogManager execLogManager = SpringHolder.getBean(ExecLogManager.class);
private static final HostTerminalService hostTerminalService = SpringHolder.getBean(HostTerminalService.class);
private static final TerminalService terminalService = SpringHolder.getBean(TerminalService.class);
private static final ExecHostLogDAO execHostLogDAO = SpringHolder.getBean(ExecHostLogDAO.class);
@@ -146,7 +146,7 @@ public abstract class BaseExecCommandHandler implements IExecCommandHandler {
// 初始化日志
this.initLogOutputStream();
// 打开会话
HostTerminalConnectDTO connect = hostTerminalService.getTerminalConnectInfo(execHostCommand.getHostId());
HostTerminalConnectDTO connect = terminalService.getTerminalConnectInfo(execHostCommand.getHostId());
this.sessionStore = SessionStores.openSessionStore(connect);
if (Booleans.isTrue(execCommand.getScriptExec())) {
// 上传脚本文件

View File

@@ -41,7 +41,7 @@ import com.orion.visor.module.asset.handler.host.terminal.model.response.Termina
import com.orion.visor.module.asset.handler.host.terminal.session.ITerminalSession;
import com.orion.visor.module.asset.handler.host.terminal.utils.TerminalUtils;
import com.orion.visor.module.asset.service.TerminalConnectLogService;
import com.orion.visor.module.asset.service.HostTerminalService;
import com.orion.visor.module.asset.service.TerminalService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.WebSocketSession;
@@ -64,7 +64,7 @@ public class TerminalCheckHandler extends AbstractTerminalHandler<TerminalCheckR
private HostDAO hostDAO;
@Resource
private HostTerminalService hostTerminalService;
private TerminalService terminalService;
@Resource
private TerminalConnectLogService terminalConnectLogService;
@@ -95,7 +95,7 @@ public class TerminalCheckHandler extends AbstractTerminalHandler<TerminalCheckR
Exception ex = null;
try {
// 获取连接信息
connect = hostTerminalService.getTerminalConnectInfo(userId, host);
connect = terminalService.getTerminalConnectInfo(userId, host);
connect.setConnectType(connectType.name());
// 设置到缓存中
channel.getAttributes().put(sessionId, connect);

View File

@@ -32,7 +32,7 @@ import com.orion.visor.module.asset.handler.host.transfer.session.DownloadSessio
import com.orion.visor.module.asset.handler.host.transfer.session.ITransferSession;
import com.orion.visor.module.asset.handler.host.transfer.session.UploadSession;
import com.orion.visor.module.asset.handler.host.transfer.utils.TransferUtils;
import com.orion.visor.module.asset.service.HostTerminalService;
import com.orion.visor.module.asset.service.TerminalService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.socket.WebSocketSession;
@@ -48,7 +48,7 @@ import java.util.concurrent.ConcurrentHashMap;
@Slf4j
public class TransferHandler implements ITransferHandler {
private static final HostTerminalService hostTerminalService = SpringHolder.getBean(HostTerminalService.class);
private static final TerminalService terminalService = SpringHolder.getBean(TerminalService.class);
private final WebSocketSession channel;
@@ -110,7 +110,7 @@ public class TransferHandler implements ITransferHandler {
if (terminalConnection == null) {
// 获取终端连接信息
Long userId = WebSockets.getAttr(channel, ExtraFieldConst.USER_ID);
HostTerminalConnectDTO connectInfo = hostTerminalService.getTerminalConnectInfo(userId, hostId);
HostTerminalConnectDTO connectInfo = terminalService.getTerminalConnectInfo(userId, hostId);
terminalConnection = new TerminalConnection(connectInfo, SessionStores.openSessionStore(connectInfo));
terminalConnections.put(hostId, terminalConnection);
}

View File

@@ -29,7 +29,7 @@ import com.orion.visor.module.asset.entity.dto.HostTerminalConnectDTO;
import com.orion.visor.module.asset.enums.UploadTaskFileStatusEnum;
import com.orion.visor.module.asset.handler.host.jsch.SessionStores;
import com.orion.visor.module.asset.handler.host.upload.model.FileUploadFileItemDTO;
import com.orion.visor.module.asset.service.HostTerminalService;
import com.orion.visor.module.asset.service.TerminalService;
import com.orion.visor.module.asset.utils.SftpUtils;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
@@ -50,7 +50,7 @@ import java.util.stream.Collectors;
@Slf4j
public class FileUploader implements IFileUploader {
private static final HostTerminalService hostTerminalService = SpringHolder.getBean(HostTerminalService.class);
private static final TerminalService terminalService = SpringHolder.getBean(TerminalService.class);
private static final UploadTaskFileDAO uploadTaskFileDAO = SpringHolder.getBean(UploadTaskFileDAO.class);
@@ -116,7 +116,7 @@ public class FileUploader implements IFileUploader {
log.info("HostFileUploader.initSession start taskId: {}, hostId: {}", taskId, hostId);
try {
// 打开会话
HostTerminalConnectDTO connectInfo = hostTerminalService.getTerminalConnectInfo(hostId);
HostTerminalConnectDTO connectInfo = terminalService.getTerminalConnectInfo(hostId);
this.sessionStore = SessionStores.openSessionStore(connectInfo);
this.executor = sessionStore.getSftpExecutor(connectInfo.getFileNameCharset());
executor.connect();

View File

@@ -20,7 +20,7 @@ import com.orion.visor.framework.common.constant.ExtraFieldConst;
import com.orion.visor.framework.common.meta.TraceIdHolder;
import com.orion.visor.framework.common.utils.Requests;
import com.orion.visor.module.asset.entity.dto.HostTerminalAccessDTO;
import com.orion.visor.module.asset.service.HostTerminalService;
import com.orion.visor.module.asset.service.TerminalService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
@@ -43,7 +43,7 @@ import java.util.Map;
public class TerminalAccessInterceptor implements HandshakeInterceptor {
@Resource
private HostTerminalService hostTerminalService;
private TerminalService terminalService;
@Override
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception {
@@ -51,7 +51,7 @@ public class TerminalAccessInterceptor implements HandshakeInterceptor {
String accessToken = Urls.getUrlSource(request.getURI().getPath());
log.info("TerminalAccessInterceptor-beforeHandshake start accessToken: {}", accessToken);
// 获取连接数据
HostTerminalAccessDTO access = hostTerminalService.getAccessInfoByToken(accessToken);
HostTerminalAccessDTO access = terminalService.getAccessInfoByToken(accessToken);
if (access == null) {
log.error("TerminalAccessInterceptor-beforeHandshake absent accessToken: {}", accessToken);
return false;

View File

@@ -20,7 +20,7 @@ import com.orion.visor.framework.common.constant.ExtraFieldConst;
import com.orion.visor.framework.common.meta.TraceIdHolder;
import com.orion.visor.framework.common.utils.Requests;
import com.orion.visor.module.asset.entity.dto.HostTerminalTransferDTO;
import com.orion.visor.module.asset.service.HostTerminalService;
import com.orion.visor.module.asset.service.TerminalService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
@@ -43,7 +43,7 @@ import java.util.Map;
public class TerminalTransferInterceptor implements HandshakeInterceptor {
@Resource
private HostTerminalService hostTerminalService;
private TerminalService terminalService;
@Override
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception {
@@ -51,7 +51,7 @@ public class TerminalTransferInterceptor implements HandshakeInterceptor {
String transferToken = Urls.getUrlSource(request.getURI().getPath());
log.info("TerminalTransferInterceptor-beforeHandshake start transferToken: {}", transferToken);
// 获取连接数据
HostTerminalTransferDTO transfer = hostTerminalService.getTransferInfoByToken(transferToken);
HostTerminalTransferDTO transfer = terminalService.getTransferInfoByToken(transferToken);
if (transfer == null) {
log.error("TerminalTransferInterceptor-beforeHandshake absent transferToken: {}", transferToken);
return false;

View File

@@ -30,7 +30,7 @@ import java.util.List;
* @version 1.0.0
* @since 2023/12/26 14:22
*/
public interface HostTerminalService {
public interface TerminalService {
/**
* 获取主机终端主题

View File

@@ -46,7 +46,7 @@ import com.orion.visor.module.asset.handler.host.jsch.SessionStores;
import com.orion.visor.module.asset.handler.host.transfer.manager.HostTransferManager;
import com.orion.visor.module.asset.handler.host.transfer.session.DownloadSession;
import com.orion.visor.module.asset.service.HostSftpService;
import com.orion.visor.module.asset.service.HostTerminalService;
import com.orion.visor.module.asset.service.TerminalService;
import com.orion.visor.module.infra.api.OperatorLogApi;
import com.orion.visor.module.infra.entity.dto.operator.OperatorLogQueryDTO;
import com.orion.web.servlet.web.Servlets;
@@ -81,7 +81,7 @@ public class HostSftpServiceImpl implements HostSftpService {
private HostTransferManager hostTransferManager;
@Resource
private HostTerminalService hostTerminalService;
private TerminalService terminalService;
@Override
public DataGrid<HostSftpLogVO> getHostSftpLogPage(HostSftpLogQueryRequest request) {
@@ -131,7 +131,7 @@ public class HostSftpServiceImpl implements HostSftpService {
InputStream in = null;
try {
// 获取终端连接信息
HostTerminalConnectDTO connectInfo = hostTerminalService.getTerminalConnectInfo(SecurityUtils.getLoginUserId(), cache.getHostId());
HostTerminalConnectDTO connectInfo = terminalService.getTerminalConnectInfo(SecurityUtils.getLoginUserId(), cache.getHostId());
sessionStore = SessionStores.openSessionStore(connectInfo);
executor = sessionStore.getSftpExecutor(connectInfo.getFileNameCharset());
executor.connect();
@@ -164,7 +164,7 @@ public class HostSftpServiceImpl implements HostSftpService {
InputStream in = null;
try {
// 获取终端连接信息
HostTerminalConnectDTO connectInfo = hostTerminalService.getTerminalConnectInfo(SecurityUtils.getLoginUserId(), cache.getHostId());
HostTerminalConnectDTO connectInfo = terminalService.getTerminalConnectInfo(SecurityUtils.getLoginUserId(), cache.getHostId());
sessionStore = SessionStores.openSessionStore(connectInfo);
executor = sessionStore.getSftpExecutor(connectInfo.getFileNameCharset());
executor.connect();

View File

@@ -39,7 +39,7 @@ import com.orion.visor.module.asset.handler.host.config.model.HostSshConfigModel
import com.orion.visor.module.asset.handler.host.extra.model.HostSshExtraModel;
import com.orion.visor.module.asset.service.HostConfigService;
import com.orion.visor.module.asset.service.HostExtraService;
import com.orion.visor.module.asset.service.HostTerminalService;
import com.orion.visor.module.asset.service.TerminalService;
import com.orion.visor.module.infra.api.DataPermissionApi;
import com.orion.visor.module.infra.api.DictValueApi;
import com.orion.visor.module.infra.enums.DataPermissionTypeEnum;
@@ -60,7 +60,7 @@ import java.util.stream.Collectors;
*/
@Slf4j
@Service
public class HostTerminalServiceImpl implements HostTerminalService {
public class TerminalServiceImpl implements TerminalService {
private static final String THEME_DICT_KEY = "terminalTheme";
@@ -107,7 +107,7 @@ public class HostTerminalServiceImpl implements HostTerminalService {
@Override
public String getTerminalAccessToken() {
LoginUser user = Valid.notNull(SecurityUtils.getLoginUser());
log.info("HostConnectService.getHostAccessToken userId: {}", user.getId());
log.info("HostTerminalService.getTerminalAccessToken userId: {}", user.getId());
String accessToken = UUIds.random19();
HostTerminalAccessDTO access = HostTerminalAccessDTO.builder()
.userId(user.getId())
@@ -122,7 +122,7 @@ public class HostTerminalServiceImpl implements HostTerminalService {
@Override
public String getTerminalTransferToken() {
LoginUser user = Valid.notNull(SecurityUtils.getLoginUser());
log.info("HostConnectService.getTerminalTransferToken userId: {}", user.getId());
log.info("HostTerminalService.getTerminalTransferToken userId: {}", user.getId());
String transferToken = UUIds.random19();
HostTerminalTransferDTO transfer = HostTerminalTransferDTO.builder()
.userId(user.getId())
@@ -160,7 +160,7 @@ public class HostTerminalServiceImpl implements HostTerminalService {
@Override
public HostTerminalConnectDTO getTerminalConnectInfo(Long hostId) {
log.info("HostConnectService.getTerminalConnectInfo-withHost hostId: {}", hostId);
log.info("HostTerminalService.getTerminalConnectInfo-withHost hostId: {}", hostId);
// 查询主机
HostDO host = hostDAO.selectById(hostId);
// 查询主机配置
@@ -181,7 +181,7 @@ public class HostTerminalServiceImpl implements HostTerminalService {
@Override
public HostTerminalConnectDTO getTerminalConnectInfo(Long userId, HostDO host) {
Long hostId = host.getId();
log.info("HostConnectService.getTerminalConnectInfo hostId: {}, userId: {}", hostId, userId);
log.info("HostTerminalService.getTerminalConnectInfo hostId: {}, userId: {}", hostId, userId);
// 验证主机是否有权限
List<Long> hostIdList = assetAuthorizedDataService.getUserAuthorizedHostId(userId);
Valid.isTrue(hostIdList.contains(hostId),