From bcd429d54fae0f6a730c1baad5a0321349466f60 Mon Sep 17 00:00:00 2001 From: aoshiguchen <1052045476@qq.com> Date: Fri, 2 Jun 2023 22:24:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E6=97=B6=E8=AE=A4=E8=AF=81=E5=A4=B1=E8=B4=A5=EF=BC=8C=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E6=96=AD=E5=BC=80=E8=BF=9E=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/handler/ProxyMessageAuthHandler.java | 4 ++++ .../server/proxy/handler/ProxyMessageAuthHandler.java | 5 +++++ todolist.MD | 4 +--- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/handler/ProxyMessageAuthHandler.java b/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/handler/ProxyMessageAuthHandler.java index 3972f55e..a042c816 100644 --- a/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/handler/ProxyMessageAuthHandler.java +++ b/neutrino-proxy-client/src/main/java/org/dromara/neutrinoproxy/client/handler/ProxyMessageAuthHandler.java @@ -2,6 +2,7 @@ package org.dromara.neutrinoproxy.client.handler; import com.alibaba.fastjson.JSONObject; import org.dromara.neutrinoproxy.core.Constants; +import org.dromara.neutrinoproxy.core.ExceptionEnum; import org.dromara.neutrinoproxy.core.ProxyMessage; import org.dromara.neutrinoproxy.core.ProxyMessageHandler; import org.dromara.neutrinoproxy.core.dispatcher.Match; @@ -24,5 +25,8 @@ public class ProxyMessageAuthHandler implements ProxyMessageHandler { JSONObject data = JSONObject.parseObject(info); Integer code = data.getInteger("code"); log.info("认证结果:{}", info); + if (!ExceptionEnum.SUCCESS.getCode().equals(code)) { + context.channel().close(); + } } } diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/handler/ProxyMessageAuthHandler.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/handler/ProxyMessageAuthHandler.java index a43584da..49d28299 100644 --- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/handler/ProxyMessageAuthHandler.java +++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/proxy/handler/ProxyMessageAuthHandler.java @@ -82,6 +82,7 @@ public class ProxyMessageAuthHandler implements ProxyMessageHandler { String licenseKey = proxyMessage.getInfo(); if (StrUtil.isEmpty(licenseKey)) { ctx.channel().writeAndFlush(ProxyMessage.buildAuthResultMessage(ExceptionEnum.AUTH_FAILED.getCode(), "license不能为空!", licenseKey)); + ctx.channel().close(); clientConnectRecordService.add(new ClientConnectRecordDO() .setIp(ip) .setType(ClientConnectTypeEnum.CONNECT.getType()) @@ -95,6 +96,7 @@ public class ProxyMessageAuthHandler implements ProxyMessageHandler { LicenseDO licenseDO = licenseService.findByKey(licenseKey); if (null == licenseDO) { ctx.channel().writeAndFlush(ProxyMessage.buildAuthResultMessage(ExceptionEnum.AUTH_FAILED.getCode(), "license不存在!", licenseKey)); + ctx.channel().close(); clientConnectRecordService.add(new ClientConnectRecordDO() .setIp(ip) .setType(ClientConnectTypeEnum.CONNECT.getType()) @@ -107,6 +109,7 @@ public class ProxyMessageAuthHandler implements ProxyMessageHandler { } if (EnableStatusEnum.DISABLE.getStatus().equals(licenseDO.getEnable())) { ctx.channel().writeAndFlush(ProxyMessage.buildAuthResultMessage(ExceptionEnum.AUTH_FAILED.getCode(), "当前license已被禁用!", licenseKey)); + ctx.channel().close(); clientConnectRecordService.add(new ClientConnectRecordDO() .setIp(ip) .setLicenseId(licenseDO.getId()) @@ -120,6 +123,7 @@ public class ProxyMessageAuthHandler implements ProxyMessageHandler { UserDO userDO = userService.findById(licenseDO.getUserId()); if (null == userDO || EnableStatusEnum.DISABLE.getStatus().equals(userDO.getEnable())) { ctx.channel().writeAndFlush(ProxyMessage.buildAuthResultMessage(ExceptionEnum.AUTH_FAILED.getCode(), "当前license无效!", licenseKey)); + ctx.channel().close(); clientConnectRecordService.add(new ClientConnectRecordDO() .setIp(ip) .setLicenseId(licenseDO.getId()) @@ -133,6 +137,7 @@ public class ProxyMessageAuthHandler implements ProxyMessageHandler { Channel cmdChannel = ProxyUtil.getCmdChannelByLicenseId(licenseDO.getId()); if (null != cmdChannel) { ctx.channel().writeAndFlush(ProxyMessage.buildAuthResultMessage(ExceptionEnum.AUTH_FAILED.getCode(), "当前license已被另一节点使用!", licenseKey)); + ctx.channel().close(); clientConnectRecordService.add(new ClientConnectRecordDO() .setIp(ip) .setLicenseId(licenseDO.getId()) diff --git a/todolist.MD b/todolist.MD index 9af5aa0c..a967f1b6 100644 --- a/todolist.MD +++ b/todolist.MD @@ -1,10 +1,8 @@ -# 1.x剩余规划 -- [ ] 增加针对https的支持 - # Bug - 指令通达被close的问题,org.dromara.neutrinoproxy.server.proxy.core.ProxyTunnelChannelHandler.channelInactive - windows环境下直接运行发布版的jar包,日志输出乱码 - 代理mysql时,使用未开启远程访问的账号走代理访问mysql,代理客户端出现断开现象 +- 客户端连接映射某个端口以后,如果在服务器端禁用了,没有立刻反映出来,要灯客户端重连以后才会屏蔽被禁用的端口。 # 2.x规划 - 插件开发