仿冒功能

仿冒地址池ip
来函和任务修改
样例新增界面增加631业务
This commit is contained in:
段冬梅
2018-12-17 00:21:27 +08:00
parent 23bfe1c136
commit f3e4844f92
33 changed files with 2076 additions and 99 deletions

View File

@@ -1,23 +1,33 @@
package com.nis.web.controller.basics;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.configuration.TaskInfo;
import com.nis.util.Constants;
import com.nis.util.StringUtil;
import com.nis.util.excel.ExcelField;
import com.nis.web.controller.BaseController;
import com.nis.web.service.basics.TaskInfoService;
import jersey.repackaged.com.google.common.collect.Lists;
@Controller
@RequestMapping("${adminPath}/basics/taskInfo")
public class TaskInfoController extends BaseController{
@@ -25,7 +35,6 @@ public class TaskInfoController extends BaseController{
@Autowired
private TaskInfoService taskInfoService;
/**
*来函列表
*/
@@ -41,7 +50,9 @@ public class TaskInfoController extends BaseController{
@RequestMapping(value={"form"})
public String form(TaskInfo taskInfo, Model model) {
if(taskInfo.getId()!=null){
Integer functionId=taskInfo.getFunctionId();
taskInfo = taskInfoService.getTaskInfoById(taskInfo.getId());
taskInfo.setFunctionId(functionId);
model.addAttribute("taskInfo", taskInfo);
}else{
model.addAttribute("taskInfo", taskInfo);
@@ -63,7 +74,7 @@ public class TaskInfoController extends BaseController{
}else{
if (!"true".equals(checkTaskName(taskInfo.getTaskName()))){
logger.info(taskInfo.getTaskName()+"重复数据");
addMessage(model,"error", "save_failed");
addMessage("error",model,"save_failed");
return form(taskInfo, model);
}
// 保存用户信息
@@ -76,7 +87,7 @@ public class TaskInfoController extends BaseController{
e.printStackTrace();
addMessage(redirectAttributes,"error", "save_failed");
}
return "redirect:" + adminPath + "/basics/taskInfo/list?repage";
return "redirect:" + adminPath + "/basics/taskInfo/list?functionId="+taskInfo.getFunctionId()+"&repage";
}
/**
@@ -98,11 +109,11 @@ public class TaskInfoController extends BaseController{
* @return
*/
@RequestMapping(value = "taskExamine")
public String taskExamine(String ids, Model model,RedirectAttributes redirectAttributes){
public String taskExamine(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
String[] exId = ids.split(",");
taskInfoService.taskExamine(exId);
addMessage(redirectAttributes,"success", "save_success");
return "redirect:" + adminPath + "/basics/taskInfo/list?repage";
addMessage(redirectAttributes,"success", "audit_success");
return "redirect:" + adminPath + "/basics/taskInfo/list?functionId="+functionId+"&repage";
}
/**
@@ -112,11 +123,11 @@ public class TaskInfoController extends BaseController{
* @return
*/
@RequestMapping(value = "taskExamineNo")
public String taskExamineNo(String ids, Model model,RedirectAttributes redirectAttributes){
public String taskExamineNo(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
String[] noId = ids.split(",");
taskInfoService.taskExamineNo(noId);
addMessage(redirectAttributes,"success", "save_success");
return "redirect:" + adminPath + "/basics/taskInfo/list?repage";
addMessage(redirectAttributes,"success", "audit_success");
return "redirect:" + adminPath + "/basics/taskInfo/list?functionId="+functionId+"&repage";
}
/**
@@ -126,11 +137,11 @@ public class TaskInfoController extends BaseController{
* @return
*/
@RequestMapping(value = "taskCancelExamine")
public String taskCancelExamine(String ids, Model model,RedirectAttributes redirectAttributes){
public String taskCancelExamine(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
String[] canclelId = ids.split(",");
taskInfoService.taskCancelExamine(canclelId);
addMessage(redirectAttributes,"success", "save_success");
return "redirect:" + adminPath + "/basics/taskInfo/list?repage";
addMessage(redirectAttributes,"success", "audit_success");
return "redirect:" + adminPath + "/basics/taskInfo/list?functionId="+functionId+"&repage";
}
/**
@@ -140,12 +151,67 @@ public class TaskInfoController extends BaseController{
* @return
*/
@RequestMapping(value = "delete")
public String delete(String ids, Model model,RedirectAttributes redirectAttributes){
public String delete(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
String[] delId = ids.split(",");
taskInfoService.delete(delId);
addMessage(redirectAttributes,"success", "delete_success");
return "redirect:" + adminPath + "/basics/taskInfo/list?repage";
return "redirect:" + adminPath + "/basics/taskInfo/list?functionId="+functionId+"&repage";
}
//配置导出
@RequestMapping(value = "exportTaskInfo")
public void exportTaskInfo(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")TaskInfo entity,String ids,RedirectAttributes redirectAttributes){
try {
//export data info
List<String> titleList=new ArrayList<String>();
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
//导出选中记录
List<TaskInfo> list=Lists.newArrayList();
titleList.add(entity.getMenuNameCode());
classMap.put(entity.getMenuNameCode(), TaskInfo.class);
Field[] fields=TaskInfo.class.getDeclaredFields();
StringBuffer column=new StringBuffer();
Properties props= this.getMsgProp();
for(Field f: fields) {
ExcelField ex=f.getAnnotation(ExcelField.class);
if(ex!=null) {
String title=ex.title();
if(entity.getColumns().indexOf(props.getProperty(title, title))==-1) {
column.append(","+title);
}
}
}
if(column.toString().length()>0) {
column.append(",");
}
noExportMap.put(entity.getMenuNameCode(),column.toString());
if(!StringUtil.isEmpty(ids)){
for(String id:ids.split(",")){
Long.parseLong(id);
}
list=taskInfoService.getTaskInfoByIds(ids);
}else{
//条件导出数据大于最大导出数,只导出最大导出条数
Page<TaskInfo> pageInfo=new Page<TaskInfo>(request, response,"a");
pageInfo.setPageNo(1);
pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE);
Page<TaskInfo> page = taskInfoService.findTaskInfo(pageInfo, entity);
list=page.getList();
}
dataMap.put(entity.getMenuNameCode(),list);
// 获取国际化配置
this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap);
} catch (Exception e) {
logger.error("ip addr export failed",e);
addMessage(redirectAttributes,"error", "export_failed");
}
//return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId();
}
}

View File

@@ -1,6 +1,11 @@
package com.nis.web.controller.configuration;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -9,6 +14,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
@@ -16,9 +22,14 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.configuration.RequestInfo;
import com.nis.domain.configuration.TaskInfo;
import com.nis.util.Constants;
import com.nis.util.StringUtil;
import com.nis.util.excel.ExcelField;
import com.nis.web.controller.BaseController;
import com.nis.web.service.configuration.RequestInfoService;
import jersey.repackaged.com.google.common.collect.Lists;
@Controller
@RequestMapping("${adminPath}/cfg/request")
public class RequestInfoController extends BaseController{
@@ -45,7 +56,9 @@ public class RequestInfoController extends BaseController{
taskInfo.setId(requestInfo.getTaskId());
showTask(taskInfo,model);
if(requestInfo.getId()!=null){
Integer functionId=requestInfo.getFunctionId();
requestInfo = requestInfoService.getRequestInfoById(requestInfo.getId());
requestInfo.setFunctionId(functionId);
model.addAttribute("requestInfo", requestInfo);
}else{
model.addAttribute("requestInfo", requestInfo);
@@ -67,7 +80,7 @@ public class RequestInfoController extends BaseController{
}else{
if (!"true".equals(checkRequestNumber(requestInfo.getRequestNumber()))){
logger.info(requestInfo.getRequestNumber()+"重复数据");
addMessage(redirectAttributes,"error","save_failed");
addMessage("error",model,"save_failed");
return form(requestInfo, model);
}
// 保存用户信息
@@ -78,9 +91,9 @@ public class RequestInfoController extends BaseController{
} catch (Exception e) {
logger.error(e.getMessage());
e.printStackTrace();
addMessage(redirectAttributes,"error","save_failed");
addMessage(model,"error","save_failed");
}
return "redirect:" + adminPath + "/cfg/request/list?repage";
return "redirect:" + adminPath + "/cfg/request/list?functionId="+requestInfo.getFunctionId()+"&repage";
}
/**
@@ -102,11 +115,11 @@ public class RequestInfoController extends BaseController{
* @return
*/
@RequestMapping(value = "requestExamine")
public String requestExamine(String ids, Model model,RedirectAttributes redirectAttributes){
public String requestExamine(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
String[] exId = ids.split(",");
requestInfoService.requestExamine(exId);
addMessage(redirectAttributes,"success","save_success");
return "redirect:" + adminPath + "/cfg/request/list?repage";
addMessage(redirectAttributes,"success","audit_success");
return "redirect:" + adminPath + "/cfg/request/list?functionId="+functionId+"&repage";
}
/**
@@ -116,11 +129,11 @@ public class RequestInfoController extends BaseController{
* @return
*/
@RequestMapping(value = "requestExamineNo")
public String requestExamineNo(String ids, Model model,RedirectAttributes redirectAttributes){
public String requestExamineNo(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
String[] noId = ids.split(",");
requestInfoService.requestExamineNo(noId);
addMessage(redirectAttributes,"success","save_success");
return "redirect:" + adminPath + "/cfg/request/list?repage";
addMessage(redirectAttributes,"success","audit_success");
return "redirect:" + adminPath + "/cfg/request/list?functionId="+functionId+"&repage";
}
/**
@@ -130,11 +143,11 @@ public class RequestInfoController extends BaseController{
* @return
*/
@RequestMapping(value = "requestCancelExamine")
public String requestCancelExamine(String ids, Model model,RedirectAttributes redirectAttributes){
public String requestCancelExamine(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
String[] canclelId = ids.split(",");
requestInfoService.requestCancelExamine(canclelId);
addMessage(redirectAttributes,"success","save_success");
return "redirect:" + adminPath + "/cfg/request/list?repage";
addMessage(redirectAttributes,"success","audit_success");
return "redirect:" + adminPath + "/cfg/request/list?functionId="+functionId+"&repage";
}
/**
@@ -144,11 +157,11 @@ public class RequestInfoController extends BaseController{
* @return
*/
@RequestMapping(value = "delete")
public String delete(String ids, Model model,RedirectAttributes redirectAttributes){
public String delete(Integer functionId,String ids, Model model,RedirectAttributes redirectAttributes){
String[] delId = ids.split(",");
requestInfoService.delete(delId);
addMessage(redirectAttributes,"success","delete_success");
return "redirect:" + adminPath + "/cfg/request/list?repage";
return "redirect:" + adminPath + "/cfg/request/list?functionId="+functionId+"&repage";
}
@@ -173,4 +186,59 @@ public class RequestInfoController extends BaseController{
model.addAttribute("requestInfos", requestInfos);
return "/basics/requestSelectInfo";
}
//配置导出
@RequestMapping(value = "exportRequestInfo")
public void exportTaskInfo(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("requestInfo")RequestInfo entity,String ids,RedirectAttributes redirectAttributes){
try {
//export data info
List<String> titleList=new ArrayList<String>();
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
//导出选中记录
List<RequestInfo> list=Lists.newArrayList();
titleList.add(entity.getMenuNameCode());
classMap.put(entity.getMenuNameCode(), RequestInfo.class);
Field[] fields=RequestInfo.class.getDeclaredFields();
StringBuffer column=new StringBuffer();
Properties props= this.getMsgProp();
for(Field f: fields) {
ExcelField ex=f.getAnnotation(ExcelField.class);
if(ex!=null) {
String title=ex.title();
if(entity.getColumns().indexOf(props.getProperty(title, title))==-1) {
column.append(","+title);
}
}
}
if(column.toString().length()>0) {
column.append(",");
}
noExportMap.put(entity.getMenuNameCode(),column.toString());
if(!StringUtil.isEmpty(ids)){
for(String id:ids.split(",")){
Long.parseLong(id);
}
list=requestInfoService.getRequestInfoByIds(ids);
}else{
//条件导出数据大于最大导出数,只导出最大导出条数
Page<RequestInfo> pageInfo=new Page<RequestInfo>(request, response,"a");
pageInfo.setPageNo(1);
pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE);
Page<RequestInfo> page = requestInfoService.findRequestInfo(pageInfo, entity);
list=page.getList();
}
dataMap.put(entity.getMenuNameCode(),list);
// 获取国际化配置
this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap);
} catch (Exception e) {
logger.error("ip addr export failed",e);
addMessage(redirectAttributes,"error", "export_failed");
}
//return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId();
}
}

View File

@@ -20,6 +20,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.HttpUrlCfg;
@@ -58,7 +59,9 @@ public class InterceptController extends CommonController{
certificateList=pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "domain");
}
model.addAttribute("certificateList", certificateList);
//IP地址仿冒策略使用策略组
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(6);
model.addAttribute("policyGroups", policyGroups);
return "/cfg/intercept/interceptList";
}
@RequestMapping(value = {"/interceptIpForm","interceptDomainForm","interceptIpPayloadForm"})
@@ -80,6 +83,10 @@ public class InterceptController extends CommonController{
model.addAttribute("certificateList", certificateList);
model.addAttribute("_cfg", entity);
//IP地址仿冒策略使用策略组
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(6);
model.addAttribute("policyGroups", policyGroups);
return "/cfg/intercept/interceptForm";
}
@RequestMapping(value = {"/ip/saveOrUpdate","/domain/saveOrUpdate","/ippayload/SaveOrUpdate"})
@@ -173,7 +180,6 @@ public class InterceptController extends CommonController{
try {
auditAll(auditPage,isValid , cfg);
addMessage(redirectAttributes,"success", "audit_success");
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {

View File

@@ -0,0 +1,201 @@
package com.nis.web.controller.configuration.proxy;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.security.KeyStore;
import java.security.Principal;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManagerFactory;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.common.collect.Maps;
import com.nis.domain.Page;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.configuration.DnsResStrategy;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.configuration.PxyObjSpoofingIpPool;
import com.nis.domain.configuration.PxyObjSpoofingIpPool;
import com.nis.domain.configuration.PxyObjTrustedCaCert;
import com.nis.domain.configuration.PxyObjTrustedCaCrl;
import com.nis.domain.maat.ToMaatResult;
import com.nis.domain.maat.ToMaatResult.ResponseData;
import com.nis.exceptions.CallExternalProceduresException;
import com.nis.exceptions.MaatConvertException;
import com.nis.exceptions.MultiPartNewException;
import com.nis.util.ConfigDictUtils;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
import com.nis.util.FileUtils;
import com.nis.util.JsonMapper;
import com.nis.util.StringUtil;
import com.nis.web.controller.BaseController;
/**
* 拦截策略
* @author ddm
*
*/
@Controller
@RequestMapping("${adminPath}/proxy/spoofing/pool")
public class PxyObjSpoofingIpPoolController extends BaseController {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@RequestMapping(value = {"/form"})
@RequiresPermissions(value={"proxy:spoofing:pool:config"})
public String from(Model model,
HttpServletRequest request,
HttpServletResponse response,
String ids,
@ModelAttribute("cfg")PxyObjSpoofingIpPool cfg
,RedirectAttributes redirectAttributes){
if(cfg == null){
cfg=new PxyObjSpoofingIpPool();
}
if(!StringUtil.isEmpty(ids)){
cfg = pxyObjSpoofingIpPoolService.getPxyObjSpoofingIpPool(Long.valueOf(ids));
initFormCondition(model, cfg);
model.addAttribute("isAdd", false);
}else{
initFormCondition(model, cfg);
model.addAttribute("isAdd", true);
}
List<PolicyGroupInfo> groups=policyGroupInfoService.findPolicyGroupInfosByType(6);
List<PolicyGroupInfo> policyGroups = new ArrayList();
//解决目前一个分组只能有一个生效IP
for(PolicyGroupInfo group:groups){
PxyObjSpoofingIpPool entity = new PxyObjSpoofingIpPool();
entity.setGroupId(group.getGroupId());
entity.setCfgId(cfg.getCfgId());
List<PxyObjSpoofingIpPool> spoofingIpPool = pxyObjSpoofingIpPoolService.findPxyObjSpoofingIpPools(entity);
if(spoofingIpPool==null || spoofingIpPool.size()==0){
policyGroups.add(group);
}
}
model.addAttribute("policyGroups", policyGroups);
model.addAttribute("_cfg", cfg);
return "/cfg/proxy/spoofingIpPool/form";
}
@RequestMapping(value = {"/saveOrUpdate"})
@RequiresPermissions(value={"proxy:spoofing:pool:config"})
public String saveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response,
@ModelAttribute("cfg")PxyObjSpoofingIpPool cfg,
RedirectAttributes redirectAttributes){
try{
pxyObjSpoofingIpPoolService.saveOrUpdate(cfg);
addMessage(redirectAttributes,"success","save_success");
}catch(Exception e){
logger.error("信息保存失败",e);
e.printStackTrace();
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error","request_service_failed");
}else {
addMessage(redirectAttributes,"error","save_failed");
}
}
return "redirect:" + adminPath +"/proxy/spoofing/pool/list?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = {"/list"})
@RequiresPermissions(value={"proxy:spoofing:pool:config"})
public String list(Model model,HttpServletRequest request,HttpServletResponse response
,@ModelAttribute("cfg")PxyObjSpoofingIpPool entity
,RedirectAttributes redirectAttributes){
//查询时left join policyGroup
Page<PxyObjSpoofingIpPool> page = pxyObjSpoofingIpPoolService.findPage(new Page<PxyObjSpoofingIpPool>(request, response,"r"), entity);
model.addAttribute("page", page);
initPageCondition(model,entity);
return "/cfg/proxy/spoofingIpPool/list";
}
@RequestMapping(value = {"/delete"})
@RequiresPermissions(value={"proxy:spoofing:pool:config"})
public String delete(Integer isAudit,Integer isValid,String ids,Integer functionId
,Model model,HttpServletRequest request
,HttpServletResponse response
,RedirectAttributes redirectAttributes){
if(!StringUtil.isEmpty(ids)){
pxyObjSpoofingIpPoolService.delete(isAudit,isValid,ids,functionId);
}
return "redirect:" + adminPath +"/proxy/spoofing/pool/list?functionId="+functionId;
}
@RequestMapping(value = {"/audit"})
@RequiresPermissions(value={"proxy:spoofing:pool:confirm"})
public String audit(Model model,@ModelAttribute("cfg")PxyObjSpoofingIpPool cfg,
Integer isValid,
Integer isAudit,
String ids,
Integer functionId,
RedirectAttributes redirectAttributes,
HttpServletResponse response,
HttpServletRequest request) {
if(!StringUtil.isEmpty(ids)){
String[] idArray = ids.split(",");
Date auditTime=new Date();
for(String id :idArray){
try {
pxyObjSpoofingIpPoolService.audit(isAudit,isValid,functionId,id,auditTime);
} catch (MaatConvertException e) {
logger.error(e);
addMessage(redirectAttributes,"error", "request_service_failed");
}catch (Exception e) {
logger.error(e);
addMessage(redirectAttributes,"error", "audit_failed");
}
}
}else {
/*Page<PxyObjSpoofingIpPool> searchPage=new Page<PxyObjSpoofingIpPool>(request,response,"r");
Page<PxyObjSpoofingIpPool> auditPage=new Page<PxyObjSpoofingIpPool>(request,response,"r");
try {
BeanUtils.copyProperties(searchPage, auditPage);
auditAll(auditPage,isValid , cfg);
} catch (Exception e) {
logger.error("配置下发失败:",e);
if(e instanceof MaatConvertException) {
addMessage(redirectAttributes,"error", "request_service_failed");
}else {
addMessage(redirectAttributes,"error", "audit_failed");
}
}
return list(model, request, response, cfg,redirectAttributes);*/
}
return "redirect:" + adminPath +"/proxy/spoofing/pool/list?functionId="+functionId;
}
}