⚡ 优化模块值.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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,
|
||||
|
||||
@@ -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())) {
|
||||
// 上传脚本文件
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -30,7 +30,7 @@ import java.util.List;
|
||||
* @version 1.0.0
|
||||
* @since 2023/12/26 14:22
|
||||
*/
|
||||
public interface HostTerminalService {
|
||||
public interface TerminalService {
|
||||
|
||||
/**
|
||||
* 获取主机终端主题
|
||||
@@ -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();
|
||||
|
||||
@@ -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),
|
||||
Reference in New Issue
Block a user