From 1bc284243ffaec87b65a6b4241430c547d5d92ff Mon Sep 17 00:00:00 2001 From: duandongmei Date: Wed, 4 Jul 2018 11:13:27 +0800 Subject: [PATCH] =?UTF-8?q?http=20replace=20=E5=A2=9E=E5=8A=A0zone?= =?UTF-8?q?=E5=92=8Cregex=E7=9A=84userregion=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/nis/util/Constants.java | 8 ++++++++ .../proxy/ControlPolicyController.java | 4 ++-- .../service/configuration/ControlPolicyService.java | 13 ++++++++++++- src/main/resources/nis.properties | 4 ++++ 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/nis/util/Constants.java b/src/main/java/com/nis/util/Constants.java index c693be406..8d4b1a81a 100644 --- a/src/main/java/com/nis/util/Constants.java +++ b/src/main/java/com/nis/util/Constants.java @@ -389,6 +389,14 @@ public final class Constants { public static final String USER_REGION_SPLIT = Configurations.getStringProperty("user_region_split", ";"); //用户自定义域占位符 public static final String USER_REGION_PLACEHOLDER = Configurations.getStringProperty("user_region_placeholder", ";;"); + //HTTP REPLACE USER_REGION ZONE KEY + public static final String REPLACE_TYPE_KEY = Configurations.getStringProperty("userregion_replace_type_key", "zone"); + //HTTP REPLACE USER_REGION ZONE REQ KEY VALUE + public static final String REPLACE_REQ_KEY_VALUE = Configurations.getStringProperty("userregion_replace_req_key_value", "http_req_replace_body"); + //HTTP REPLACE USER_REGION ZONE RES KEY VALUE + public static final String REPLACE_RES_KEY_VALUE = Configurations.getStringProperty("userregion_replace_res_key_value", "http_res_replace_body"); + //HTTP REPLACE USER_REGION REGEX KEY + public static final String REPLACE_REGEX_KEY = Configurations.getStringProperty("userregion_replace_regex_key", "regex"); //HTTP重定向配置域 public static final String HTTP_REDIRECT_URL_REGION = Configurations.getStringProperty("http_redirect_url_region","PXY_CTRL_HTTP_URL"); diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/ControlPolicyController.java b/src/main/java/com/nis/web/controller/configuration/proxy/ControlPolicyController.java index 801d6eb51..6d3bd02aa 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/ControlPolicyController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/ControlPolicyController.java @@ -94,7 +94,7 @@ public class ControlPolicyController extends BaseController{ Date auditTime=new Date(); for(String id :idArray){ try { - controlPolicyService.audit(isAudit,isValid,functionId,id,auditTime); + controlPolicyService.audit(isAudit,isValid,functionId,id,auditTime,Constants.REPLACE_REQ_KEY_VALUE); } catch (MaatConvertException e) { logger.error("配置下发失败",e); addMessage(redirectAttributes, e.getMessage()); @@ -162,7 +162,7 @@ public class ControlPolicyController extends BaseController{ Date auditTime=new Date(); for(String id :idArray){ try { - controlPolicyService.audit(isAudit,isValid,functionId,id,auditTime); + controlPolicyService.audit(isAudit,isValid,functionId,id,auditTime,Constants.REPLACE_RES_KEY_VALUE); } catch (MaatConvertException e) { e.printStackTrace(); logger.error("配置下发失败",e); diff --git a/src/main/java/com/nis/web/service/configuration/ControlPolicyService.java b/src/main/java/com/nis/web/service/configuration/ControlPolicyService.java index f8ebb2231..ccdffcf13 100644 --- a/src/main/java/com/nis/web/service/configuration/ControlPolicyService.java +++ b/src/main/java/com/nis/web/service/configuration/ControlPolicyService.java @@ -156,7 +156,7 @@ public class ControlPolicyService extends BaseService{ } } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) - public void audit(Integer isAudit,Integer isValid,Integer functionId,String id,Date auditTime){ + public void audit(Integer isAudit,Integer isValid,Integer functionId,String id,Date auditTime,String replaceKeyValue){ HttpBodyCfg entity = new HttpBodyCfg(); List list = new ArrayList(); List areaIpCfgList = new ArrayList(); @@ -218,6 +218,17 @@ public class ControlPolicyService extends BaseService{ maatCfg.setGroupNum(groupRelationList.size()); maatCfg.setAreaIpRegionList(areaIpRegionList); maatCfg.setIsValid(entity.getIsValid()); + + if(StringUtil.isEmpty(entity.getReplaceContent())) entity.setReplaceContent(""); + // req replace body set zone + String replaceType=Constants.REPLACE_TYPE_KEY+"="; + replaceType=replaceType+replaceKeyValue; + //req replace body set regex + String replaceRegex=Constants.REPLACE_REGEX_KEY+"="; + replaceRegex=replaceRegex+entity.getReplaceContent(); + //req replace body set user_region + maatCfg.setUserRegion(replaceType+ Constants.USER_REGION_SPLIT+replaceRegex); + configCompileList.add(maatCfg); maatBean.setConfigCompileList(configCompileList); maatBean.setAuditTime(auditTime); diff --git a/src/main/resources/nis.properties b/src/main/resources/nis.properties index 8a148048f..aed2dbd0c 100644 --- a/src/main/resources/nis.properties +++ b/src/main/resources/nis.properties @@ -298,6 +298,10 @@ userregion_ir_strategy=IR_STRATEGY userregion_ir_type=ir_type userregion_domian_id=DOMIAN_ID userregion_domian_str=DOMIAN_STR +userregion_replace_type_key=zone +userregion_replace_req_key_value=http_req_replace_body +userregion_replace_res_key_value=http_res_replace_body +userregion_replace_regex_key=regex #IP相关验证正则 ipv4_ip_subnet_regexp=^(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}/(3[0-2]|[1-2][0-9]|[0-9])$ ipv6_ip_subnet_regexp=^\\s*((([0-9A-Fa-f]{1,4}:){7}(([0-9A-Fa-f]{1,4})|:))|(([0-9A-Fa-f]{1,4}:){6}(:|(:[0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){5}((:?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}((:?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}((:?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}((:?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:)(:[0-9A-Fa-f]{1,4}){0,4}((:?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(:(:[0-9A-Fa-f]{1,4}){0,5}((:?)|((:[0-9A-Fa-f]{1,4}){1,2}))))(%.+)?\\s*/(0|2|4|8|16|32|64|128)$