From ceabc348d10bc42fc14e86f4c3a474b3af07c8fa Mon Sep 17 00:00:00 2001 From: aoshiguchen <1052045476@qq.com> Date: Sun, 14 Aug 2022 16:40:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E6=95=B0=E6=8D=AE.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../proxy/server/base/rest/DBInitialize.java | 2 +- .../proxy/server/service/LicenseService.java | 19 ++++++++++++++++- .../src/main/resources/sql/license.data.sql | 3 +++ .../main/resources/sql/port_mapping.data.sql | 5 +++++ .../src/main/resources/sql/port_pool.data.sql | 21 +++++++++++++++++++ .../src/main/resources/sql/user.data.sql | 4 +++- 6 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 neutrino-proxy-server/src/main/resources/sql/license.data.sql create mode 100644 neutrino-proxy-server/src/main/resources/sql/port_mapping.data.sql create mode 100644 neutrino-proxy-server/src/main/resources/sql/port_pool.data.sql diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/DBInitialize.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/DBInitialize.java index 6d8e3118..d6a73cb0 100644 --- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/DBInitialize.java +++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/base/rest/DBInitialize.java @@ -40,7 +40,7 @@ import java.util.List; @Slf4j @PreLoad("init") public class DBInitialize { - private static List initDataTableNameList = Lists.newArrayList("user"); + private static List initDataTableNameList = Lists.newArrayList("user", "license", "port_pool", "port_mapping"); private static SqliteConfig sqliteConfig; private static JdbcTemplate jdbcTemplate; diff --git a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/LicenseService.java b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/LicenseService.java index e2da0984..a1746937 100644 --- a/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/LicenseService.java +++ b/neutrino-proxy-server/src/main/java/fun/asgc/neutrino/proxy/server/service/LicenseService.java @@ -27,6 +27,7 @@ import fun.asgc.neutrino.core.annotation.Component; import fun.asgc.neutrino.core.db.page.Page; import fun.asgc.neutrino.core.db.page.PageQuery; import fun.asgc.neutrino.core.util.CollectionUtil; +import fun.asgc.neutrino.proxy.server.base.rest.SystemContextHolder; import fun.asgc.neutrino.proxy.server.base.rest.constant.EnableStatusEnum; import fun.asgc.neutrino.proxy.server.base.rest.constant.ExceptionConstant; import fun.asgc.neutrino.proxy.server.base.rest.constant.OnlineStatusEnum; @@ -70,6 +71,7 @@ public class LicenseService { if (null != userDO) { item.setUserName(userDO.getName()); } + item.setKey(desensitization(item.getUserId(), item.getKey())); } } return page; @@ -86,6 +88,7 @@ public class LicenseService { if (null != userDO) { item.setUserName(userDO.getName()); } + item.setKey(desensitization(item.getUserId(), item.getKey())); } } return licenseList; @@ -139,7 +142,7 @@ public class LicenseService { return new LicenseDetailRes() .setId(licenseDO.getId()) .setName(licenseDO.getName()) - .setKey(licenseDO.getKey()) + .setKey(desensitization(licenseDO.getUserId(), licenseDO.getKey())) .setUserId(licenseDO.getUserId()) .setUserName(userName) .setIsOnline(licenseDO.getIsOnline()) @@ -179,4 +182,18 @@ public class LicenseService { licenseMapper.reset(id, key, now); } + /** + * 脱敏处理 + * 非当前登录人的license,一律脱敏 + * @param userId + * @param licenseKey + * @return + */ + private String desensitization(Integer userId, String licenseKey) { + Integer currentUserId = SystemContextHolder.getUser().getId(); + if (currentUserId.equals(userId)) { + return licenseKey; + } + return licenseKey.substring(0, 10) + "****" + licenseKey.substring(licenseKey.length() - 10); + } } diff --git a/neutrino-proxy-server/src/main/resources/sql/license.data.sql b/neutrino-proxy-server/src/main/resources/sql/license.data.sql new file mode 100644 index 00000000..5e22e839 --- /dev/null +++ b/neutrino-proxy-server/src/main/resources/sql/license.data.sql @@ -0,0 +1,3 @@ +#license +insert into license(`id`, `name`, `key`, `user_id`, `is_online`, `enable`, `create_time`, `update_time`) values +(1, '我的mac', 'b0a907332b474b25897c4dcb31fc7eb6', 1, 2, 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); diff --git a/neutrino-proxy-server/src/main/resources/sql/port_mapping.data.sql b/neutrino-proxy-server/src/main/resources/sql/port_mapping.data.sql new file mode 100644 index 00000000..770e65ff --- /dev/null +++ b/neutrino-proxy-server/src/main/resources/sql/port_mapping.data.sql @@ -0,0 +1,5 @@ +#port_mapping +insert into port_mapping(`id`, `license_id`, `server_port`, `client_ip`, `client_port`, `is_online`, `enable`, `create_time`, `update_time`) values +(1, 1, 9101, '127.0.0.1', 8080, 2, 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); +insert into port_mapping(`id`, `license_id`, `server_port`, `client_ip`, `client_port`, `is_online`, `enable`, `create_time`, `update_time`) values +(2, 1, 9102, '127.0.0.1', 3306, 2, 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); diff --git a/neutrino-proxy-server/src/main/resources/sql/port_pool.data.sql b/neutrino-proxy-server/src/main/resources/sql/port_pool.data.sql new file mode 100644 index 00000000..117885e0 --- /dev/null +++ b/neutrino-proxy-server/src/main/resources/sql/port_pool.data.sql @@ -0,0 +1,21 @@ +#端口池 +insert into port_pool(`id`, `port`, `enable`, `create_time`, `update_time`) values +(1, 9101, 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); +insert into port_pool(`id`, `port`, `enable`, `create_time`, `update_time`) values +(2, 9102, 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); +insert into port_pool(`id`, `port`, `enable`, `create_time`, `update_time`) values +(3, 9103, 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); +insert into port_pool(`id`, `port`, `enable`, `create_time`, `update_time`) values +(4, 9104, 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); +insert into port_pool(`id`, `port`, `enable`, `create_time`, `update_time`) values +(5, 9105, 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); +insert into port_pool(`id`, `port`, `enable`, `create_time`, `update_time`) values +(6, 9106, 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); +insert into port_pool(`id`, `port`, `enable`, `create_time`, `update_time`) values +(7, 9107, 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); +insert into port_pool(`id`, `port`, `enable`, `create_time`, `update_time`) values +(8, 9108, 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); +insert into port_pool(`id`, `port`, `enable`, `create_time`, `update_time`) values +(9, 9109, 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); +insert into port_pool(`id`, `port`, `enable`, `create_time`, `update_time`) values +(10, 9110, 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); diff --git a/neutrino-proxy-server/src/main/resources/sql/user.data.sql b/neutrino-proxy-server/src/main/resources/sql/user.data.sql index f544beda..8ded61c8 100644 --- a/neutrino-proxy-server/src/main/resources/sql/user.data.sql +++ b/neutrino-proxy-server/src/main/resources/sql/user.data.sql @@ -1,3 +1,5 @@ #用户表 insert into `user`(`id`, `name`,`login_name`,`login_password`,`enable`,`create_time`, `update_time`) values -(1, '管理员', 'admin', 'e10adc3949ba59abbe56e057f20f883e', 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); +(1, '管理员', 'admin', '6613b92b77056faeb72068f184ed4c4f', 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW')); +insert into `user`(`id`, `name`,`login_name`,`login_password`,`enable`,`create_time`, `update_time`) values +(2, '游客', 'visitor', 'e10adc3949ba59abbe56e057f20f883e', 1, STRFTIME('%s000', 'NOW'), STRFTIME('%s000', 'NOW'));