proxy intercept ip功能完成

http\dns\ssl\mail dolog添加
This commit is contained in:
duandongmei
2018-08-21 21:26:05 +08:00
parent e31ba6c2e6
commit dd33e24e32
23 changed files with 464 additions and 194 deletions

View File

@@ -1,5 +1,7 @@
package com.nis.web.controller.configuration.proxy;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
@@ -18,12 +20,17 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.ComplexkeywordCfg;
import com.nis.domain.configuration.DnsResStrategy;
import com.nis.domain.configuration.HttpUrlCfg;
import com.nis.domain.configuration.InterceptPktBin;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.configuration.template.IpAddrTemplate;
import com.nis.exceptions.MaatConvertException;
import com.nis.web.controller.configuration.CommonController;
import com.nis.web.security.UserUtils;
/**
* IP相关配置控制类
@@ -35,21 +42,13 @@ import com.nis.web.controller.configuration.CommonController;
public class InterceptController extends CommonController{
@RequestMapping(value = {"/ip/list"})
// @RequiresPermissions(value={"website:dns:config"})
public String dnsList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) {
public String ipList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> page = websiteCfgService.getWebsiteList(searchPage, cfg);
model.addAttribute("page", page);
initPageCondition(model,cfg);
return "/cfg/intercept/interceptIpList";
}
/*@RequestMapping(value = {"/ip/list"})
// @RequiresPermissions(value={"intercept:ip:config","intercept:ip:confirm"},logical=Logical.OR)
public String ipList(String cfgName,Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) {
this._ipList(cfgName,model, cfg, request, response);
model.addAttribute("urlPrefix","/proxy/intercept/ip");
model.addAttribute("requiresPermissionPrefix","intercept:ip");
return "/cfg/common/ipList";
}*/
@RequestMapping(value = {"/domain/list"})
// @RequiresPermissions(value={"intercept:domain:config","intercept:domain:confirm"},logical=Logical.OR)
public String domainList(String cfgName,Model model,@ModelAttribute("cfg")HttpUrlCfg cfg,HttpServletRequest request,HttpServletResponse response) {
@@ -61,7 +60,7 @@ public class InterceptController extends CommonController{
@RequestMapping(value = {"/interceptIpForm"})
@RequiresPermissions(value={"intercept:ip:config"})
public String dnsForm(Model model,String ids,CfgIndexInfo entity) {
public String interceptIpForm(Model model,String ids,CfgIndexInfo entity) {
if(StringUtils.isNotBlank(ids)){
entity = interceptCfgService.getInterceptIpCfg(Long.parseLong(ids));
initUpdateFormCondition(model,entity);
@@ -75,14 +74,6 @@ public class InterceptController extends CommonController{
model.addAttribute("_cfg", entity);
return "/cfg/intercept/interceptIpForm";
}
/*@RequestMapping(value = {"/ip/form"})
@RequiresPermissions(value={"intercept:ip:config"})
public String ipForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) {
this._ipForm(cfgName,model, ids, functionId, entity);
model.addAttribute("urlPrefix","/proxy/intercept/ip");
model.addAttribute("requiresPermissionPrefix","intercept:ip");
return "/cfg/common/ipForm";
}*/
@RequestMapping(value = {"/domain/form"})
@RequiresPermissions(value={"intercept:domain:config"})
public String domainForm(String cfgName,Model model,String ids,Integer functionId,HttpUrlCfg entity) {
@@ -91,29 +82,87 @@ public class InterceptController extends CommonController{
model.addAttribute("requiresPermissionPrefix","intercept:domain");
return "/cfg/common/domainForm";
}
@RequestMapping(value = {"saveOrUpdate"})
public String saveInterceptIpCfg(Model model,HttpServletRequest request,HttpServletResponse response,String ids,CfgIndexInfo entity) {
interceptCfgService.saveInterceptIpCfg(entity);
@RequestMapping(value = {"/ip/saveOrUpdate"})
public String saveInterceptIpCfg(RedirectAttributes redirectAttributes,Model model,HttpServletRequest request,HttpServletResponse response,String ids,CfgIndexInfo entity) {
try {
interceptCfgService.saveInterceptIpCfg(entity);
addMessage(redirectAttributes,"save_success");
} catch (Exception e) {
addMessage(redirectAttributes,"save_failed");
}
return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+entity.getFunctionId();
}
/*@RequestMapping(value = {"/ip/saveOrUpdate"})
public String saveOrUpdateIp(String cfgName,RedirectAttributes model, IpPortCfg cfg) {
this._saveOrUpdateIp(cfgName,model, cfg);
return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+cfg.getFunctionId();
}*/
@RequestMapping(value = {"ajaxInterceptIpSubList"})
public String ajaxInterceptIpSubList(Model model,Long cfgId,Integer index) {
CfgIndexInfo cfg = interceptCfgService.getInterceptIpCfg(cfgId);
List<String[]> tabList = new ArrayList();
if(cfg.getIpPortList()!=null){
String cfgType = null;
for(IpPortCfg ip:cfg.getIpPortList()){
if(!ip.getCfgType().equals(cfgType)){
tabList.add(new String[]{"1",ip.getCfgType()});
cfgType = ip.getCfgType();
}
}
}
if(cfg.getInterceptPktBinList()!=null){
String cfgType = null;
for(BaseStringCfg keyword:cfg.getInterceptPktBinList()){
if(!keyword.getCfgType().equals(cfgType)){
tabList.add(new String[]{"2",keyword.getCfgType()});
cfgType = keyword.getCfgType();
}
}
}
model.addAttribute("_cfg", cfg);
model.addAttribute("index", index);
model.addAttribute("tabList", tabList);
return "/cfg/intercept/interceptIpSubList";
}
@RequestMapping(value = {"auditInterceptIpCfg"})
@RequiresPermissions(value={"intercept:ip:confirm"})
public String auditInterceptIpCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = interceptCfgService.getInterceptIpCfg(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
interceptCfgService.auditInterceptIpCfg(entity,isAudit);
addMessage(redirectAttributes,"audit_success");
} catch (MaatConvertException e) {
logger.error("intercept ip audit failed",e);
addMessage(redirectAttributes,"audit_failed");
}
}
return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+functionId;
}
@RequestMapping(value = {"updateInterceptIpValid"})
@RequiresPermissions(value={"intercept:ip:config"})
public String updateInterceptIpValid(Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
try {
interceptCfgService.updatInterceptValid(isValid,ids,functionId);
addMessage(redirectAttributes,"delete_success");
} catch (Exception e) {
logger.error("intercept ip delete failed",e);
addMessage(redirectAttributes,"delete_failed");
}
return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+functionId;
}
@RequestMapping(value = {"/domain/saveOrUpdate"})
public String saveOrUpdateDomain(String cfgName,RedirectAttributes model, HttpUrlCfg cfg) {
this._saveOrUpdateDomain(cfgName, model, cfg);
return "redirect:" + adminPath +"/proxy/intercept/domain/list?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = {"/ip/delete"})
@RequiresPermissions("intercept:ip:config")
public String deleteIp(String cfgName,String ids,String compileIds,Integer functionId,RedirectAttributes model) {
this._deleteIp(cfgName,ids, compileIds, functionId, model);
model.addAttribute("urlPrefix","/proxy/intercept/ip");
model.addAttribute("requiresPermissionPrefix","intercept:ip");
return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+functionId;
}
@RequestMapping(value = {"/domain/delete"})
@RequiresPermissions("intercept:domain:config")
public String deleteDomain(String cfgName,String ids,String compileIds,Integer functionId,RedirectAttributes model) {
@@ -122,14 +171,6 @@ public class InterceptController extends CommonController{
model.addAttribute("requiresPermissionPrefix","intercept:domain");
return "redirect:" + adminPath +"/proxy/intercept/domain/list?functionId="+functionId;
}
@RequestMapping(value = {"/ip/audit"})
@RequiresPermissions("intercept:ip:confirm")
public String auditIp(String cfgName,String ids,IpPortCfg cfg,RedirectAttributes redirectAttributes) {
this._auditIp(cfgName,ids, cfg, redirectAttributes);
redirectAttributes.addAttribute("urlPrefix","/proxy/intercept/ip");
redirectAttributes.addAttribute("requiresPermissionPrefix","intercept:ip");
return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = {"/domain/audit"})
@RequiresPermissions("intercept:domain:confirm")
public String auditDomain(String ids,HttpUrlCfg cfg,RedirectAttributes redirectAttributes) {