diff --git a/src/main/java/com/nis/domain/configuration/ManipulatCfgExport.java b/src/main/java/com/nis/domain/configuration/ManipulatCfgExport.java index 2fc2012d1..10faeb3a4 100644 --- a/src/main/java/com/nis/domain/configuration/ManipulatCfgExport.java +++ b/src/main/java/com/nis/domain/configuration/ManipulatCfgExport.java @@ -9,18 +9,38 @@ public class ManipulatCfgExport extends CfgIndexInfo { */ private static final long serialVersionUID = -842585769617969577L; - @ExcelField(title="action_export",dictType="SERVICE_ACTION",sort=2) + @ExcelField(title="block_type",dictType="SERVICE_ACTION",sort=2) private String actionExport; - @ExcelField(title="response_code",sort=2) + @ExcelField(title="method_export",dictType="SERVICE_ACTION",sort=3) + private String methodExport; + + @ExcelField(title="response_code",sort=3) private String responseCode; + @ExcelField(title="profile_info",sort=10) + private String profileInfo; + + private Integer action; + public String getResponseCode() { return responseCode; } public void setResponseCode(String responseCode) { this.responseCode = responseCode; } + public String getMethodExport() { + return methodExport; + } + public void setMethodExport(String methodExport) { + this.methodExport = methodExport; + } + public String getProfileInfo() { + return profileInfo; + } + public void setProfileInfo(String profileInfo) { + this.profileInfo = profileInfo; + } public String getActionExport() { return actionExport; } @@ -28,4 +48,11 @@ public class ManipulatCfgExport extends CfgIndexInfo { this.actionExport = actionExport; } + public Integer getAction() { + return action; + } + public void setAction(Integer action) { + this.action = action; + } + } diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index dde72d574..4b84d5677 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -1915,7 +1915,7 @@ public class BaseController { // 代理-操控业务 if(regionDict.getAction() != null) { cfg.setUserRegion5(regionDict.getAction()+""); - if(regionDict.getAction()!=48 && regionDict.getAction()!=80) { + if(regionDict.getAction()==85 || regionDict.getAction()==90) { cfg.setUserRegion4(profileId+""); } } @@ -2064,7 +2064,7 @@ public class BaseController { // 代理-操控业务 if(regionDict.getAction() != null) { cfg.setUserRegion5(regionDict.getAction()+""); - if(regionDict.getAction()!=48 && regionDict.getAction()!=80) { + if(regionDict.getAction()==85 || regionDict.getAction()==90) { cfg.setUserRegion4(profileId+""); } } @@ -2231,7 +2231,7 @@ public class BaseController { // 代理-操控业务 if(regionDict.getAction() != null) { cfg.setUserRegion5(regionDict.getAction()+""); - if(regionDict.getAction()!=48 && regionDict.getAction()!=80) { + if(regionDict.getAction()==85 || regionDict.getAction()==90) { cfg.setUserRegion4(profileId+""); } } diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/ManipulatPolicyController.java b/src/main/java/com/nis/web/controller/configuration/proxy/ManipulatPolicyController.java index f6db8a7d8..d06b30f6d 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/ManipulatPolicyController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/ManipulatPolicyController.java @@ -21,8 +21,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; +import com.alibaba.fastjson.JSON; import com.nis.domain.FunctionRegionDict; import com.nis.domain.Page; +import com.nis.domain.callback.ProxyFileHijackCfg; +import com.nis.domain.callback.ProxyFileInsertScriptCfg; +import com.nis.domain.callback.ProxyFileResponsePageCfg; import com.nis.domain.callback.ProxyFileStrategyCfg; import com.nis.domain.configuration.BaseCfg; import com.nis.domain.configuration.BaseStringCfg; @@ -63,6 +67,7 @@ public class ManipulatPolicyController extends BaseController { /*List allProxyFileStrategys = proxyFileStrategyService.getProxyFileStrategyCfgList(new ProxyFileStrategyCfg()); model.addAttribute("allProxyFileStrategys", allProxyFileStrategys);*/ + manipulatPolicyService.setFileRegion(model); return "/cfg/proxy/control/manipulatPolicyList"; } @@ -115,6 +120,7 @@ public class ManipulatPolicyController extends BaseController { entity.getNtcSubscribeIdCfgList().add(subscribeIdCfg); } initUpdateFormCondition(model, entity); + manipulatPolicyService.setFileRegion(model); } else { // 设置http各类配置的配置域类型 HttpUrlCfg urlCfg = new HttpUrlCfg(); @@ -319,18 +325,24 @@ public class ManipulatPolicyController extends BaseController { Map redirectDict = DictUtils.getDictMap("REDIRECT_RESPONSE_CODE"); // Redirect Map replaceDict = DictUtils.getDictMap("CONTROL_REPLACE_ZONE"); // Replace + // 用于检索引用的文件配置信息 + ProxyFileResponsePageCfg searchResponseFile = new ProxyFileResponsePageCfg(); + ProxyFileHijackCfg searchHijackFile = new ProxyFileHijackCfg(); + ProxyFileInsertScriptCfg searchInsertFile = new ProxyFileInsertScriptCfg(); + Properties prop = getMsgProp(); List baseLists = new ArrayList(); for (CfgIndexInfo source : ipLists) { ManipulatCfgExport str = new ManipulatCfgExport(); BeanUtils.copyProperties(source, str); + str.setActionExport("action_manipulate"); if(str.getUserRegion5().equals("85")) { - str.setActionExport("action_hijack"); + str.setMethodExport("action_hijack"); }else if(str.getUserRegion5().equals("90")) { - str.setActionExport("action_insert"); + str.setMethodExport("action_insert"); }else { - str.setActionExport(str.getUserRegion5()); + str.setMethodExport(str.getUserRegion5()); } if(str.getIsAudit()!=0){ @@ -367,23 +379,35 @@ public class ManipulatPolicyController extends BaseController { } if (str.getUserRegion5().equals("16") || str.getUserRegion5().equals("48")) { - if (!StringUtil.isEmpty(str.getUserRegion4())) { // 是否存在文件策略 - ProxyFileStrategyCfg file = new ProxyFileStrategyCfg(); - file.setCompileId(Integer.valueOf(str.getUserRegion4())); - List allProxyFileStrategys = proxyFileStrategyService.getProxyFileStrategyCfgList(file); + if (!StringUtil.isEmpty(str.getUserRegion3())) { // 是否存在文件策略 + searchResponseFile.setCompileId(Integer.valueOf(str.getUserRegion3())); + List allProxyFileStrategys = proxyFileResponsePageService.getProxyFileResponsePageCfgList(searchResponseFile); if (allProxyFileStrategys != null && allProxyFileStrategys.size() > 0) { - str.setUserRegion2(allProxyFileStrategys.get(0).getCfgDesc()); + str.setUserRegion1(allProxyFileStrategys.get(0).getFileDesc()); } - str.setUserRegion4(null); + str.setUserRegion3(null); } } } + if(str.getUserRegion5().equals("16") || str.getUserRegion5().equals("48") || str.getUserRegion5().equals("85") || str.getUserRegion5().equals("90")) { - if(str.getUserRegion5().equals("85") || str.getUserRegion5().equals("90")) { - str.setUserRegion1(null); + if(str.getUserRegion5().equals("85")) { + Page page = proxyFileHijackService.findPage(new Page(request, response, "a"), searchHijackFile); + List list = page.getList(); + if(list != null && list.size() > 0) { + str.setProfileInfo(list.get(0).getCfgDesc()); + } + //str.setUserRegion1(null); + str.setUserRegion4(null); + }else if(str.getUserRegion5().equals("90")) { + Page page = proxyFileInsertScriptService.findPage(new Page(request, response, "a"), searchInsertFile); + List list = page.getList(); + if(list != null && list.size() > 0) { + str.setProfileInfo(list.get(0).getCfgDesc()); + } str.setUserRegion4(null); } str.setUserRegion5(null); @@ -405,7 +429,7 @@ public class ManipulatPolicyController extends BaseController { } } - String cfgIndexInfoNoExport = ",block_type,policy_name,group_name,&action_export:block_type-responseCode:response_code-userregion1:response_content-userregion2:redirect_url-userregion3:replace_zone-userregion4:replaced_content-userregion5:replace_content-"; + String cfgIndexInfoNoExport = ",policy_name,group_name,&method_export:method-responseCode:response_code-userregion1:response_content-userregion2:redirect_url-userregion3:replace_zone-userregion4:replaced_content-userregion5:replace_content-"; String httpUrlCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" diff --git a/src/main/java/com/nis/web/dao/configuration/ProxyFileHijackDao.java b/src/main/java/com/nis/web/dao/configuration/ProxyFileHijackDao.java index a3bbdc050..330126297 100644 --- a/src/main/java/com/nis/web/dao/configuration/ProxyFileHijackDao.java +++ b/src/main/java/com/nis/web/dao/configuration/ProxyFileHijackDao.java @@ -24,4 +24,6 @@ public interface ProxyFileHijackDao extends CrudDao{ public int update(ProxyFileHijackCfg entity); List findByList(@Param("ids")String ids); + + public List findHijackFiles(ProxyFileHijackCfg hijackSearch); } diff --git a/src/main/java/com/nis/web/dao/configuration/ProxyFileHijackDao.xml b/src/main/java/com/nis/web/dao/configuration/ProxyFileHijackDao.xml index 7c8cdc621..60caede5f 100644 --- a/src/main/java/com/nis/web/dao/configuration/ProxyFileHijackDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/ProxyFileHijackDao.xml @@ -326,5 +326,22 @@ left join request_info ri on a.request_id=ri.id where a.CFG_ID in (${ids}) - + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/configuration/ProxyFileInsertScriptDao.java b/src/main/java/com/nis/web/dao/configuration/ProxyFileInsertScriptDao.java index 21495dc5a..33e01145b 100644 --- a/src/main/java/com/nis/web/dao/configuration/ProxyFileInsertScriptDao.java +++ b/src/main/java/com/nis/web/dao/configuration/ProxyFileInsertScriptDao.java @@ -27,4 +27,6 @@ public interface ProxyFileInsertScriptDao extends CrudDao findByList(@Param("ids")String ids); + + public List findInsertFiles(ProxyFileInsertScriptCfg insertSearch); } diff --git a/src/main/java/com/nis/web/dao/configuration/ProxyFileInsertScriptDao.xml b/src/main/java/com/nis/web/dao/configuration/ProxyFileInsertScriptDao.xml index b625e7311..871160ce0 100644 --- a/src/main/java/com/nis/web/dao/configuration/ProxyFileInsertScriptDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/ProxyFileInsertScriptDao.xml @@ -320,5 +320,22 @@ left join request_info ri on a.request_id=ri.id where a.CFG_ID in (${ids}) - + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/BaseService.java b/src/main/java/com/nis/web/service/BaseService.java index 0650ed86e..2dac33c80 100644 --- a/src/main/java/com/nis/web/service/BaseService.java +++ b/src/main/java/com/nis/web/service/BaseService.java @@ -2571,7 +2571,7 @@ public abstract class BaseService { actionParam.setMethod("block"); actionParam.setCode(Integer.valueOf(_cfg.getUserRegion1())); actionParam.setMessage(_cfg.getUserRegion2()); - actionParam.setHtml_profile(Integer.valueOf(_cfg.getUserRegion4())); + actionParam.setHtml_profile(0); }else if(regionDict.getAction().equals(85)) { actionParam.setMethod("hijack"); actionParam.setHijack_profile(Integer.valueOf(_cfg.getUserRegion4())); @@ -2720,7 +2720,7 @@ public abstract class BaseService { actionParam.setMethod("block"); actionParam.setCode(Integer.valueOf(_cfg.getUserRegion1())); actionParam.setMessage(_cfg.getUserRegion2()); - actionParam.setHtml_profile(Integer.valueOf(_cfg.getUserRegion4())); + actionParam.setHtml_profile(0); }else if(regionDict.getAction().equals(85)) { actionParam.setMethod("hijack"); actionParam.setHijack_profile(Integer.valueOf(_cfg.getUserRegion4())); @@ -2851,7 +2851,7 @@ public abstract class BaseService { actionParam.setMethod("block"); actionParam.setCode(Integer.valueOf(cfg.getUserRegion1())); actionParam.setMessage(cfg.getUserRegion2()); - actionParam.setHtml_profile(Integer.valueOf(cfg.getUserRegion4())); + actionParam.setHtml_profile(0); }else if(regionDict.getAction().equals(85)) { actionParam.setMethod("hijack"); actionParam.setHijack_profile(Integer.valueOf(cfg.getUserRegion4())); @@ -3293,8 +3293,8 @@ public abstract class BaseService { }else if(cfg.getUserRegion5().equals("16")) { actionParam.setMethod("block"); actionParam.setCode(Integer.valueOf(cfg.getUserRegion1())); - actionParam.setMessage(cfg.getUserRegion2()); - actionParam.setHtml_profile(Integer.valueOf(cfg.getUserRegion4())); + actionParam.setMessage(StringUtils.isNotBlank(cfg.getUserRegion2())?cfg.getUserRegion2():""); + actionParam.setHtml_profile(Integer.valueOf(StringUtils.isNotBlank(cfg.getUserRegion3())?cfg.getUserRegion3():"0")); }else if(cfg.getUserRegion5().equals("85")) { actionParam.setMethod("hijack"); actionParam.setHijack_profile(Integer.valueOf(cfg.getUserRegion4())); diff --git a/src/main/java/com/nis/web/service/configuration/ManipulatPolicyService.java b/src/main/java/com/nis/web/service/configuration/ManipulatPolicyService.java index 5629811be..16d02861c 100644 --- a/src/main/java/com/nis/web/service/configuration/ManipulatPolicyService.java +++ b/src/main/java/com/nis/web/service/configuration/ManipulatPolicyService.java @@ -6,10 +6,15 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang3.StringEscapeUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.ui.Model; import com.nis.domain.Page; import com.nis.domain.callback.ProxyFileHijackCfg; @@ -45,6 +50,7 @@ import com.nis.web.dao.configuration.ProxyFileStrategyDao; import com.nis.web.dao.configuration.StringCfgDao; import com.nis.web.dao.configuration.WebsiteCfgDao; import com.nis.web.security.UserUtils; +import com.nis.web.service.BaseService; import com.nis.web.service.CrudService; /** @@ -520,8 +526,8 @@ public class ManipulatPolicyService extends CrudService list = proxyFileHijackDao.findPage(searchEntity); + List list = proxyFileHijackDao.findHijackFiles(searchEntity); for (BaseCfg cfg : list) { resultList.add(cfg); } }else if(source == 90) { ProxyFileInsertScriptCfg searchEntity = new ProxyFileInsertScriptCfg(); searchEntity.setIsAudit(1); - List list = proxyFileInsertDao.findPage(searchEntity); + List list = proxyFileInsertDao.findInsertFiles(searchEntity); for (BaseCfg cfg : list) { resultList.add(cfg); } } return resultList; } + + public void setFileRegion(Model model) { + + ProxyFileStrategyCfg searchEntity = new ProxyFileStrategyCfg(); + searchEntity.setIsAudit(1); + ProxyFileHijackCfg hijackSearch = new ProxyFileHijackCfg(); + searchEntity.setIsAudit(1); + ProxyFileInsertScriptCfg insertSearch = new ProxyFileInsertScriptCfg(); + searchEntity.setIsAudit(1); + + List resFileList = proxyFileDao.fingResPages(searchEntity); + List hajackFilelist = proxyFileHijackDao.findHijackFiles(hijackSearch); + List InsertFilelist = proxyFileInsertDao.findInsertFiles(insertSearch); + + model.addAttribute("allResponseFiles", resFileList); + model.addAttribute("allHijackFiles", hajackFilelist); + model.addAttribute("allInsertFiles", InsertFilelist); + } } diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index 21fdfda48..e4a5e69d5 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -1578,7 +1578,10 @@ enable=Enable forward=Forward decrypt_mirror_enable_on=if the enable option value is '1', the Mirror profile is needed ssl_ver_mirror_client_on=if the mirror client option value is '1', the min SSL version and the max SSL version will be ignored +#---------------------------Proxy Manipulate------------------------------------ profile_info=Profile Info http_manipulation=HTTP(S) Manipulate action_hijack=Hijack -action_insert=Insert \ No newline at end of file +action_insert=Insert +action_manipulate=Manipulate +method=Method \ No newline at end of file diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index a5bbea898..2f3cb9659 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -1580,7 +1580,10 @@ enable=Enable forward=Forward decrypt_mirror_enable_on=if the enable option value is '1', the Mirror profile is needed ssl_ver_mirror_client_on=if the mirror client option value is '1', the min SSL version and the max SSL version will be ignored +#---------------------------Proxy Manipulate------------------------------------ profile_info=Profile Info http_manipulation=HTTP(S) Manipulate action_hijack=Hijack -action_insert=Insert \ No newline at end of file +action_insert=Insert +action_manipulate=Manipulate +method=Method \ No newline at end of file diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index 07e8f2498..1781d3326 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -1578,7 +1578,10 @@ enable=\u542F\u7528 forward=Forward decrypt_mirror_enable_on=\u5982\u679C\u542F\u52A8\u9009\u9879\u7684\u503C\u662F1\uFF0C\u5219\u955C\u50CF\u6587\u4EF6\u9009\u9879\u9700\u8981\u9009\u62E9 ssl_ver_mirror_client_on=\u5982\u679C\u955C\u50CF\u5BA2\u6237\u7AEF\u9009\u9879\u7684\u503C\u662F1\uFF0C\u5219\u6700\u5927\u6700\u5C0FSSL\u7248\u672C\u53F7\u4F1A\u88AB\u5FFD\u7565 +#---------------------------Proxy Manipulate------------------------------------ profile_info=\u6587\u4EF6 http_manipulation=HTTP(S)\u64CD\u63A7 action_hijack=\u52AB\u6301 -action_insert=\u6CE8\u5165 \ No newline at end of file +action_insert=\u6CE8\u5165 +action_manipulate=\u64CD\u63A7 +method=\u65B9\u6CD5 \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/include/excel/importModal.jsp b/src/main/webapp/WEB-INF/include/excel/importModal.jsp index b25510625..33a2b5c2b 100644 --- a/src/main/webapp/WEB-INF/include/excel/importModal.jsp +++ b/src/main/webapp/WEB-INF/include/excel/importModal.jsp @@ -95,14 +95,14 @@
> + checked> diff --git a/src/main/webapp/WEB-INF/views/cfg/proxy/control/manipulatPolicyActionForm.jsp b/src/main/webapp/WEB-INF/views/cfg/proxy/control/manipulatPolicyActionForm.jsp index f1608de2b..fefdc1fdc 100644 --- a/src/main/webapp/WEB-INF/views/cfg/proxy/control/manipulatPolicyActionForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/proxy/control/manipulatPolicyActionForm.jsp @@ -13,6 +13,41 @@ + <%-- Method --%> +
+
+
+ +
+ + + > + + + + + <%-- Hijack标识为85 --%> + + <%-- Insert标识为90 --%> + +
+
+
+
+
+
@@ -32,46 +67,69 @@
- -
- +
+
-
-
-
-
- <%--
-
-
-
- +
-
+
+
-
--%> -
+
+ + @@ -396,12 +396,14 @@ + + @@ -430,6 +432,8 @@ ${indexCfg.compileId } ${indexCfg.cfgDesc } + + @@ -443,8 +447,6 @@ - - @@ -456,18 +458,19 @@ title="${indexCfg.userRegion2 }""> ${fns:abbr(indexCfg.userRegion2,20)} - <%-- - + + ${file.fileDesc } - --%> + + @@ -492,6 +495,7 @@ + @@ -507,10 +511,30 @@ ${fns:abbr(indexCfg.userRegion2,20)} ${fns:abbr(indexCfg.userRegion3,20)} + - - + + + + + + + + + + + + ${file.cfgDesc } + + + + + ${file.cfgDesc } + + + + diff --git a/src/main/webapp/static/pages/scripts/importExcel.js b/src/main/webapp/static/pages/scripts/importExcel.js index f7a5b73af..9c35ffde0 100644 --- a/src/main/webapp/static/pages/scripts/importExcel.js +++ b/src/main/webapp/static/pages/scripts/importExcel.js @@ -247,7 +247,7 @@ function profileChange(val){ $("input[name='regionDictIds']:first").prop("checked",true); } - if(val == 48 || val == 80){ // 重定向和替换动作无Profile属性 + if(val == 48 || val == 80 || val == 16){ // 重定向和替换动作无Profile属性 $(".profileInfo").addClass("hidden"); }else{ $(".profileInfo").removeClass("hidden");