diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/filter/Ipv6Filter.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/filter/Ipv6Filter.java index 4bd1fafa..d68b057f 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/filter/Ipv6Filter.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/filter/Ipv6Filter.java @@ -1,8 +1,10 @@ package com.ruoyi.cai.filter; import com.alibaba.fastjson.JSON; +import com.ruoyi.cai.config.CaiProperties; import com.ruoyi.cai.enums.SystemConfigEnum; import com.ruoyi.cai.manager.SystemConfigManager; +import com.ruoyi.cai.util.AES; import com.ruoyi.cai.util.IpUtil; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.utils.ServletUtils; @@ -24,6 +26,8 @@ public class Ipv6Filter implements Filter { @Autowired private SystemConfigManager systemConfigManager; + @Autowired + private CaiProperties caiProperties; private static final AntPathMatcher ANT_PATH_MATCHER = new AntPathMatcher(); @@ -55,12 +59,35 @@ public class Ipv6Filter implements Filter { for (String pathAnt : split) { boolean match = ANT_PATH_MATCHER.match(pathAnt, requestUri); if(match){ - HttpServletResponse response = (HttpServletResponse) servletResponse; - R fail = R.fail("请检测你的网络环境"); - ServletUtils.renderString(response, JSON.toJSONString(fail)); + if(caiProperties.isEnableApiEncryption()){ + sendEncryption(servletResponse); + }else{ + sendNoEncryption(servletResponse); + } return; } } filterChain.doFilter(servletRequest, servletResponse); } + + private static final String KEY = "UPsfSES4456W8ILv"; + + private void sendEncryption(ServletResponse servletResponse) { + HttpServletResponse response = (HttpServletResponse) servletResponse; + R fail = R.fail("请检测你的网络环境"); + String encrypt = null; + try { + encrypt = AES.encrypt(JSON.toJSONString(fail), KEY); + } catch (Exception e) { + log.error("加密失败!",e); + return; + } + ServletUtils.renderString(response, encrypt); + } + + private void sendNoEncryption(ServletResponse servletResponse){ + HttpServletResponse response = (HttpServletResponse) servletResponse; + R fail = R.fail("请检测你的网络环境"); + ServletUtils.renderString(response, JSON.toJSONString(fail)); + } }