From 7cc11d976e8d983861249a8e238546e2f5cf9603 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AE=B5=E5=86=AC=E6=A2=85?= Date: Mon, 17 Dec 2018 00:16:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nis/web/controller/BaseController.java | 54 +++++++++++++++++-- 1 file changed, 49 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index 8776aa3ba..098860ccd 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -81,6 +81,9 @@ import com.nis.domain.configuration.template.DdosIpTemplate; import com.nis.domain.configuration.template.DnsComplexStringTemplate; import com.nis.domain.configuration.template.DnsIpTemplate; import com.nis.domain.configuration.template.DnsResStrategyTemplate; +import com.nis.domain.configuration.template.DomainInterceptMonitTemplate; +import com.nis.domain.configuration.template.DomainInterceptRateLimitTemplate; +import com.nis.domain.configuration.template.DomainInterceptTemplate; import com.nis.domain.configuration.template.IpAllTemplate; import com.nis.domain.configuration.template.IpCfgTemplate; import com.nis.domain.configuration.template.IpPayloadTemplate; @@ -91,12 +94,12 @@ import com.nis.domain.configuration.template.StringAllTemplate; import com.nis.domain.log.BaseLogEntity; import com.nis.domain.log.SearchReport; import com.nis.domain.maat.MaatCfg; -import com.nis.domain.maat.ToMaatBean; import com.nis.domain.maat.MaatCfg.DigestCfg; import com.nis.domain.maat.MaatCfg.GroupCfg; import com.nis.domain.maat.MaatCfg.IpCfg; import com.nis.domain.maat.MaatCfg.NumBoundaryCfg; import com.nis.domain.maat.MaatCfg.StringCfg; +import com.nis.domain.maat.ToMaatBean; import com.nis.domain.specific.ConfigGroupInfo; import com.nis.domain.specific.SpecificServiceCfg; import com.nis.exceptions.MaatConvertException; @@ -107,6 +110,7 @@ import com.nis.util.Configurations; import com.nis.util.Constants; import com.nis.util.DateUtils; import com.nis.util.DictUtils; +import com.nis.util.FileUtils; import com.nis.util.JsonMapper; import com.nis.util.ServiceConfigTemplateUtil; import com.nis.util.StringUtil; @@ -160,6 +164,7 @@ import com.nis.web.service.configuration.MailCfgService; import com.nis.web.service.configuration.NumCfgService; import com.nis.web.service.configuration.ProxyFileStrategyService; import com.nis.web.service.configuration.PxyObjKeyringService; +import com.nis.web.service.configuration.PxyObjSpoofingIpPoolService; import com.nis.web.service.configuration.RequestInfoService; import com.nis.web.service.configuration.UserManageService; import com.nis.web.service.configuration.WebsiteCfgService; @@ -296,6 +301,9 @@ public class BaseController { protected IpAddrPoolCfgService ipAddrPoolCfgService;// 地址池管理service @Autowired protected ConfigGroupInfoService configGroupInfoService;// 分组复用 + + @Autowired + protected PxyObjSpoofingIpPoolService pxyObjSpoofingIpPoolService;// 欺骗IP池 /** * 管理基础路径 */ @@ -356,6 +364,20 @@ public class BaseController { model.addAttribute("message", sb.toString()); } + /** + * 添加Model消息 + * + * @param message + * @param messageType 消息类型:info、success、warning、error、loading + */ + protected void addMessage(String messageType,Model model,String... messages) { + StringBuilder sb = new StringBuilder(); + for (String message : messages) { + sb.append(message).append(messages.length > 1 ? "
" : ""); + } + model.addAttribute("message", sb.toString()); + model.addAttribute("messageType", messageType); + } /** * 添加Model消息 日志用 * @@ -1288,7 +1310,18 @@ public class BaseController { BlockingQueue list = ei.getDataList(AppDomainTemplate.class ); stringCfgs=this.checkStringCfgMulity(serviceDict, regionDict, list); - } else { + }else if (regionDict.getFunctionId().equals(201)){// Domain Intercept + if(serviceDict.getAction().equals(1)){// 监测 + BlockingQueue list = ei.getDataList(DomainInterceptMonitTemplate.class); + stringCfgs=this.checkStringCfgMulity(serviceDict, regionDict, list); + }else if(serviceDict.getAction().equals(64)){// 限速 + BlockingQueue list = ei.getDataList(DomainInterceptRateLimitTemplate.class); + stringCfgs=this.checkStringCfgMulity(serviceDict, regionDict, list); + }else{// 白名单 + BlockingQueue list = ei.getDataList(DomainInterceptTemplate.class); + stringCfgs=this.checkStringCfgMulity(serviceDict, regionDict, list); + } + }else { BlockingQueue list = ei.getDataList(StringAllTemplate.class ); stringCfgs=this.checkStringCfgMulity(serviceDict, regionDict, list); } @@ -1718,6 +1751,10 @@ public class BaseController { } else { if(!regionDict.getFunctionId().equals(403)) { CfgIndexInfo cfgIndexInfo = new CfgIndexInfo(); + // 因域名阻断 -限速 -丢包率 + if(serviceDict.getFunctionId().equals(201) && serviceDict.getAction().equals(64)){ + cfg.setUserRegion1("0"); + } BeanUtils.copyProperties(cfg, cfgIndexInfo, new String[] {"cfgId"}); cfgIndexInfos.add(cfgIndexInfo); } @@ -1862,6 +1899,8 @@ public class BaseController { addMessage(redirectAttributes,"error", "request_service_failed"); }else if(e instanceof ServiceException) { addMessage(redirectAttributes,"error", e.getMessage()); + }else if(e instanceof IndexOutOfBoundsException){ + addMessage(redirectAttributes,"error", "template_error"); }else { addMessage(redirectAttributes,"error", "import_failed"); } @@ -1906,6 +1945,14 @@ public class BaseController { ei.loadInitParams(P2pHashStringTemplate.class, this.getMsgProp(), regionDict, serviceDict); }else if (regionDict.getFunctionId().equals(403)) { ei.loadInitParams(AppDomainTemplate.class, this.getMsgProp(), regionDict, serviceDict); + } else if(regionDict.getFunctionId().equals(201)){// Domain Intercept + if(serviceDict.getAction().equals(1)){// 监测 + ei.loadInitParams(DomainInterceptMonitTemplate.class, this.getMsgProp(), regionDict, serviceDict); + }else if(serviceDict.getAction().equals(64)){// 限速 + ei.loadInitParams(DomainInterceptRateLimitTemplate.class, this.getMsgProp(), regionDict, serviceDict); + }else{// 白名单 + ei.loadInitParams(DomainInterceptTemplate.class, this.getMsgProp(), regionDict, serviceDict); + } } else { ei.loadInitParams(StringAllTemplate.class, this.getMsgProp(), regionDict, serviceDict); } @@ -2248,9 +2295,6 @@ public class BaseController { /************************多域maat cfg_index_info 处理****************************************/ boolean hasData = true; while(hasData){ - page.setPageSize(Constants.MAAT_JSON_SEND_SIZE); - page.setOrderBy(""); - page.setPageNo(1); List list=getDataList(page,searchCfg,null,null,null); if(!StringUtil.isEmpty(list)){ //配置生效处理 复用全量下发