From ce016b05dba7a148788d768b87eb7197e5a1608a Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Mon, 2 May 2022 07:32:26 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=A3=20=E5=88=B6=E5=AE=9A=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E8=A7=84=E8=8C=83=E6=A8=A1=E6=9D=BF=E5=9B=A2=E9=98=9F?= =?UTF-8?q?=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kicc/auth/endpoint/kiccTokenEndpoint.java | 4 +- ...kiccAuthenticationFailureEventHandler.java | 4 +- ...kiccAuthenticationSuccessEventHandler.java | 4 +- .../kiccLogoutSuccessEventHandler.java | 8 ++-- .../core/{util => constant}/StringPool.java | 3 +- .../util/{BaseUtils.java => BaseUtil.java} | 2 +- .../util/{ClassUtils.java => ClassUtil.java} | 4 +- .../{HTMLFilter.java => HTMLFilterUtil.java} | 6 +-- .../{JasyptUtils.java => JasyptUtil.java} | 2 +- ...lder.java => SpringContextHolderUtil.java} | 6 +-- .../core/util/{WebUtils.java => WebUtil.java} | 12 ++--- .../main/resources/META-INF/spring.factories | 2 +- .../kicc/common/log/aspect/SysLogAspect.java | 4 +- .../mock/WithMockSecurityContextFactory.java | 8 ++-- .../kicc/common/mock/kit/OAuthMockKit.java | 4 +- .../rocketmq/constant/MessageConstant.java | 2 +- ...enStoreAutoCleanScheduleConfiguration.java | 4 +- .../KiccDaoAuthenticationProvider.java | 4 +- .../FormAuthenticationFailureHandler.java | 4 +- .../xss/XssHttpServletRequestWrapper.java | 4 +- .../filter/ValidateCodeGatewayFilter.java | 4 +- .../cloud/kicc/system/api/enums/MenuEnum.java | 11 +++++ .../com/cloud/kicc/system/api/vo/MenuVo.java | 5 +++ .../system/service/impl/MenuServiceImpl.java | 23 ++++++++-- .../cloud/kicc/system/util/MenuRouteUtil.java | 44 +++++++++++++++++++ .../src/main/resources/mapper/MenuMapper.xml | 1 + 26 files changed, 129 insertions(+), 50 deletions(-) rename kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/{util => constant}/StringPool.java (97%) rename kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/util/{BaseUtils.java => BaseUtil.java} (95%) rename kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/util/{ClassUtils.java => ClassUtil.java} (95%) rename kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/util/{HTMLFilter.java => HTMLFilterUtil.java} (99%) rename kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/util/{JasyptUtils.java => JasyptUtil.java} (97%) rename kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/util/{SpringContextHolder.java => SpringContextHolderUtil.java} (91%) rename kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/util/{WebUtils.java => WebUtil.java} (92%) create mode 100644 kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/util/MenuRouteUtil.java diff --git a/kicc-auth/src/main/java/com/cloud/kicc/auth/endpoint/kiccTokenEndpoint.java b/kicc-auth/src/main/java/com/cloud/kicc/auth/endpoint/kiccTokenEndpoint.java index 2dfcc6e5..6b6f56e8 100644 --- a/kicc-auth/src/main/java/com/cloud/kicc/auth/endpoint/kiccTokenEndpoint.java +++ b/kicc-auth/src/main/java/com/cloud/kicc/auth/endpoint/kiccTokenEndpoint.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.cloud.kicc.common.core.constant.CacheConstants; import com.cloud.kicc.common.core.constant.CommonConstants; import com.cloud.kicc.common.core.api.R; -import com.cloud.kicc.common.core.util.SpringContextHolder; +import com.cloud.kicc.common.core.util.SpringContextHolderUtil; import com.cloud.kicc.common.security.annotation.Inner; import com.cloud.kicc.common.security.util.SecurityUtils; import lombok.RequiredArgsConstructor; @@ -129,7 +129,7 @@ public class kiccTokenEndpoint { tokenStore.removeRefreshToken(refreshToken); // 处理自定义退出事件,保存相关日志 - SpringContextHolder.publishEvent(new LogoutSuccessEvent(auth2Authentication)); + SpringContextHolderUtil.publishEvent(new LogoutSuccessEvent(auth2Authentication)); return R.ok(true); } diff --git a/kicc-auth/src/main/java/com/cloud/kicc/auth/handler/kiccAuthenticationFailureEventHandler.java b/kicc-auth/src/main/java/com/cloud/kicc/auth/handler/kiccAuthenticationFailureEventHandler.java index e84c3f25..398f6283 100644 --- a/kicc-auth/src/main/java/com/cloud/kicc/auth/handler/kiccAuthenticationFailureEventHandler.java +++ b/kicc-auth/src/main/java/com/cloud/kicc/auth/handler/kiccAuthenticationFailureEventHandler.java @@ -1,7 +1,7 @@ package com.cloud.kicc.auth.handler; import com.cloud.kicc.system.api.entity.OperLog; -import com.cloud.kicc.common.core.util.SpringContextHolder; +import com.cloud.kicc.common.core.util.SpringContextHolderUtil; import com.cloud.kicc.common.data.entity.KiccUser; import com.cloud.kicc.common.log.event.SysLogEvent; import com.cloud.kicc.common.log.util.LogTypeEnum; @@ -57,7 +57,7 @@ public class kiccAuthenticationFailureEventHandler extends AbstractAuthenticatio operLog.setUpdateByName(kiccUser.getUsername()); } - SpringContextHolder.publishEvent(new SysLogEvent(operLog)); + SpringContextHolderUtil.publishEvent(new SysLogEvent(operLog)); } } diff --git a/kicc-auth/src/main/java/com/cloud/kicc/auth/handler/kiccAuthenticationSuccessEventHandler.java b/kicc-auth/src/main/java/com/cloud/kicc/auth/handler/kiccAuthenticationSuccessEventHandler.java index 2199ea85..4f117ec7 100644 --- a/kicc-auth/src/main/java/com/cloud/kicc/auth/handler/kiccAuthenticationSuccessEventHandler.java +++ b/kicc-auth/src/main/java/com/cloud/kicc/auth/handler/kiccAuthenticationSuccessEventHandler.java @@ -1,7 +1,7 @@ package com.cloud.kicc.auth.handler; import com.cloud.kicc.system.api.entity.OperLog; -import com.cloud.kicc.common.core.util.SpringContextHolder; +import com.cloud.kicc.common.core.util.SpringContextHolderUtil; import com.cloud.kicc.common.data.entity.KiccUser; import com.cloud.kicc.common.log.event.SysLogEvent; import com.cloud.kicc.common.log.util.SysLogUtils; @@ -50,7 +50,7 @@ public class kiccAuthenticationSuccessEventHandler extends AbstractAuthenticatio } Long endTime = System.currentTimeMillis(); operLog.setExecuteTime((endTime - startTime) + "毫秒"); - SpringContextHolder.publishEvent(new SysLogEvent(operLog)); + SpringContextHolderUtil.publishEvent(new SysLogEvent(operLog)); } } diff --git a/kicc-auth/src/main/java/com/cloud/kicc/auth/handler/kiccLogoutSuccessEventHandler.java b/kicc-auth/src/main/java/com/cloud/kicc/auth/handler/kiccLogoutSuccessEventHandler.java index 1664e30e..5c811be0 100644 --- a/kicc-auth/src/main/java/com/cloud/kicc/auth/handler/kiccLogoutSuccessEventHandler.java +++ b/kicc-auth/src/main/java/com/cloud/kicc/auth/handler/kiccLogoutSuccessEventHandler.java @@ -1,8 +1,8 @@ package com.cloud.kicc.auth.handler; import com.cloud.kicc.system.api.entity.OperLog; -import com.cloud.kicc.common.core.util.SpringContextHolder; -import com.cloud.kicc.common.core.util.WebUtils; +import com.cloud.kicc.common.core.util.SpringContextHolderUtil; +import com.cloud.kicc.common.core.util.WebUtil; import com.cloud.kicc.common.data.entity.KiccUser; import com.cloud.kicc.common.log.event.SysLogEvent; import com.cloud.kicc.common.log.util.SysLogUtils; @@ -49,7 +49,7 @@ public class kiccLogoutSuccessEventHandler extends AbstractLogoutSuccessEventHan operLog.setExecuteTime((endTime - startTime) + "毫秒"); // 设置对应的token - WebUtils.getRequest().ifPresent(request -> operLog.setOperParam(request.getHeader(HttpHeaders.AUTHORIZATION))); + WebUtil.getRequest().ifPresent(request -> operLog.setOperParam(request.getHeader(HttpHeaders.AUTHORIZATION))); // 这边设置ServiceId if (authentication instanceof OAuth2Authentication) { @@ -65,7 +65,7 @@ public class kiccLogoutSuccessEventHandler extends AbstractLogoutSuccessEventHan operLog.setUpdateByName(kiccUser.getUsername()); } - SpringContextHolder.publishEvent(new SysLogEvent(operLog)); + SpringContextHolderUtil.publishEvent(new SysLogEvent(operLog)); } } diff --git a/kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/util/StringPool.java b/kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/constant/StringPool.java similarity index 97% rename from kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/util/StringPool.java rename to kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/constant/StringPool.java index 1482cf4b..765cfbf7 100644 --- a/kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/util/StringPool.java +++ b/kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/constant/StringPool.java @@ -1,4 +1,4 @@ -package com.cloud.kicc.common.core.util; +package com.cloud.kicc.common.core.constant; /** * Copy to kicc.common.util @@ -17,6 +17,7 @@ package com.cloud.kicc.common.core.util; *
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/config/TokenStoreAutoCleanScheduleConfiguration.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/config/TokenStoreAutoCleanScheduleConfiguration.java
index 9e34fcc0..81634f8f 100644
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/config/TokenStoreAutoCleanScheduleConfiguration.java
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/config/TokenStoreAutoCleanScheduleConfiguration.java
@@ -1,6 +1,6 @@
package com.cloud.kicc.common.security.config;
-import com.cloud.kicc.common.core.util.SpringContextHolder;
+import com.cloud.kicc.common.core.util.SpringContextHolderUtil;
import com.cloud.kicc.common.security.override.KiccRedisTokenStore;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
@@ -26,7 +26,7 @@ public class TokenStoreAutoCleanScheduleConfiguration {
*/
@Scheduled(cron = "@hourly")
public void doMaintenance() {
- KiccRedisTokenStore tokenStore = SpringContextHolder.getBean(KiccRedisTokenStore.class);
+ KiccRedisTokenStore tokenStore = SpringContextHolderUtil.getBean(KiccRedisTokenStore.class);
long maintenance = tokenStore.doMaintenance();
log.debug("清理Redis ZADD 过期 token 数量: {}", maintenance);
}
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/grant/provider/KiccDaoAuthenticationProvider.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/grant/provider/KiccDaoAuthenticationProvider.java
index fadd5dc2..612d3d5a 100644
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/grant/provider/KiccDaoAuthenticationProvider.java
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/grant/provider/KiccDaoAuthenticationProvider.java
@@ -1,7 +1,7 @@
package com.cloud.kicc.common.security.grant.provider;
import cn.hutool.extra.spring.SpringUtil;
-import com.cloud.kicc.common.core.util.WebUtils;
+import com.cloud.kicc.common.core.util.WebUtil;
import com.cloud.kicc.common.security.service.KiccUserDetailsService;
import org.springframework.core.Ordered;
import org.springframework.security.authentication.BadCredentialsException;
@@ -85,7 +85,7 @@ public class KiccDaoAuthenticationProvider extends AbstractUserDetailsAuthentica
// SSO NPE 处理
String clientId;
if (clientAuthentication == null) {
- clientId = WebUtils.getRequest().get().getParameter("clientId");
+ clientId = WebUtil.getRequest().get().getParameter("clientId");
}
else {
clientId = clientAuthentication.getName();
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/handler/FormAuthenticationFailureHandler.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/handler/FormAuthenticationFailureHandler.java
index d50543d4..20c3aeec 100644
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/handler/FormAuthenticationFailureHandler.java
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/handler/FormAuthenticationFailureHandler.java
@@ -2,7 +2,7 @@ package com.cloud.kicc.common.security.handler;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.http.HttpUtil;
-import com.cloud.kicc.common.core.util.WebUtils;
+import com.cloud.kicc.common.core.util.WebUtil;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.AuthenticationException;
@@ -35,7 +35,7 @@ public class FormAuthenticationFailureHandler implements AuthenticationFailureHa
log.debug("表单登录失败:{}", exception.getLocalizedMessage());
String url = HttpUtil.encodeParams(String.format("/token/login?error=%s", exception.getMessage()),
CharsetUtil.CHARSET_UTF_8);
- WebUtils.getResponse().sendRedirect(url);
+ WebUtil.getResponse().sendRedirect(url);
}
}
diff --git a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/xss/XssHttpServletRequestWrapper.java b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/xss/XssHttpServletRequestWrapper.java
index c3af0320..8afb5ac3 100644
--- a/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/xss/XssHttpServletRequestWrapper.java
+++ b/kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/xss/XssHttpServletRequestWrapper.java
@@ -3,7 +3,7 @@ package com.cloud.kicc.common.security.xss;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HtmlUtil;
-import com.cloud.kicc.common.core.util.HTMLFilter;
+import com.cloud.kicc.common.core.util.HTMLFilterUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
@@ -80,7 +80,7 @@ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper {
}
// xss过滤
- json = new HTMLFilter().filter(json).trim();
+ json = new HTMLFilterUtil().filter(json).trim();
final ByteArrayInputStream bis = new ByteArrayInputStream(json.getBytes("utf-8"));
return new ServletInputStream() {
@Override
diff --git a/kicc-gateway/src/main/java/com/cloud/kicc/gateway/filter/ValidateCodeGatewayFilter.java b/kicc-gateway/src/main/java/com/cloud/kicc/gateway/filter/ValidateCodeGatewayFilter.java
index 8fde73d6..6fbca198 100644
--- a/kicc-gateway/src/main/java/com/cloud/kicc/gateway/filter/ValidateCodeGatewayFilter.java
+++ b/kicc-gateway/src/main/java/com/cloud/kicc/gateway/filter/ValidateCodeGatewayFilter.java
@@ -7,7 +7,7 @@ import com.cloud.kicc.common.core.constant.CacheConstants;
import com.cloud.kicc.common.core.constant.SecurityConstants;
import com.cloud.kicc.common.core.exception.ValidateCodeException;
import com.cloud.kicc.common.core.api.R;
-import com.cloud.kicc.common.core.util.WebUtils;
+import com.cloud.kicc.common.core.util.WebUtil;
import com.cloud.kicc.gateway.config.GatewayConfigProperties;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -59,7 +59,7 @@ public class ValidateCodeGatewayFilter extends AbstractGatewayFilterFactory {
return chain.filter(exchange);
}
- boolean isIgnoreClient = configProperties.getIgnoreClients().contains(WebUtils.getClientId(request));
+ boolean isIgnoreClient = configProperties.getIgnoreClients().contains(WebUtil.getClientId(request));
try {
// 只有oauth和请求不在忽略客户端需要检查代码。
if (!isIgnoreClient) {
diff --git a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/enums/MenuEnum.java b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/enums/MenuEnum.java
index 83029de5..a0cce99d 100644
--- a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/enums/MenuEnum.java
+++ b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/enums/MenuEnum.java
@@ -20,6 +20,16 @@ public enum MenuEnum {
*/
MENU_M("M", "菜单模块类(菜单目录)"),
+ /**
+ * 菜单按钮
+ */
+ MENU_F("F", "菜单按钮"),
+
+ /**
+ * 分割菜单重定向路由URL默认地址
+ */
+ MENU_ROUTE_DEFAULT_URL("/dashboard/analysis", "分割菜单重定向路由URL默认地址"),
+
/**
* 菜单0,启动,根菜单标识
*/
@@ -30,6 +40,7 @@ public enum MenuEnum {
*/
MENU_1("1", "禁用");
+
/**
* 值
*/
diff --git a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/vo/MenuVo.java b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/vo/MenuVo.java
index 66f18ea4..977d814a 100644
--- a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/vo/MenuVo.java
+++ b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/vo/MenuVo.java
@@ -21,6 +21,11 @@ public class MenuVo implements Serializable {
*/
private String name;
+ /**
+ * 分割菜单重定向URL
+ */
+ private String redirect;
+
/**
* 路由地址
*/
diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/MenuServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/MenuServiceImpl.java
index a42a17af..d19abcde 100644
--- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/MenuServiceImpl.java
+++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/MenuServiceImpl.java
@@ -1,5 +1,6 @@
package com.cloud.kicc.system.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -10,11 +11,10 @@ import com.cloud.kicc.system.api.vo.MetaVo;
import com.cloud.kicc.system.mapper.MenuMapper;
import com.cloud.kicc.system.service.MenuService;
import com.cloud.kicc.common.core.constant.RegexConstants;
+import com.cloud.kicc.system.util.MenuRouteUtil;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -53,6 +53,8 @@ public class MenuServiceImpl extends ServiceImpl