增加ssl配置功能

This commit is contained in:
zhangwei
2018-05-31 17:07:26 +08:00
parent 6eafbf6f59
commit df4f6e68ae
16 changed files with 545 additions and 114 deletions

View File

@@ -2,7 +2,9 @@ package com.nis.web.controller.configuration.ntc;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -17,16 +19,20 @@ 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.FunctionRegionDict;
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.HttpBodyCfg;
import com.nis.domain.configuration.HttpReqHeadCfg;
import com.nis.domain.configuration.HttpResHeadCfg;
import com.nis.domain.configuration.HttpUrlCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.configuration.SslKeywordCfg;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@@ -43,7 +49,7 @@ public class WebsiteController extends BaseController{
@RequiresPermissions(value={"website:http:config"})
public String httpList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) {
Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> page = websiteCfgService.getHttpList(searchPage, cfg);
Page<CfgIndexInfo> page = websiteCfgService.getWebsiteList(searchPage, cfg);
model.addAttribute("page", page);
initPageCondition(model,cfg);
return "/cfg/website/httpList";
@@ -57,6 +63,7 @@ public class WebsiteController extends BaseController{
initPageCondition(model,cfg);
return "/cfg/website/dnsList";
}
@RequestMapping(value = {"httpForm"})
@RequiresPermissions(value={"website:http:config"})
public String httpForm(Model model,String ids,CfgIndexInfo entity) {
@@ -146,6 +153,7 @@ public class WebsiteController extends BaseController{
model.addAttribute("_cfg", entity);
return "/cfg/website/httpForm";
}
@RequestMapping(value = {"saveHttpCfg"})
@RequiresPermissions(value={"website:http:config"})
public String saveHttpCfg(Model model,HttpServletRequest request,HttpServletResponse response,String ids,CfgIndexInfo entity) {
@@ -187,4 +195,87 @@ public class WebsiteController extends BaseController{
}
return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+functionId;
}
@RequestMapping(value = {"sslList"})
@RequiresPermissions(value={"website:ssl:config"})
public String sslList(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/website/sslList";
}
@RequestMapping(value = {"sslForm"})
@RequiresPermissions(value={"website:ssl:config"})
public String sslForm(Model model,String ids,CfgIndexInfo entity) {
if(StringUtils.isNotBlank(ids)){
entity = websiteCfgService.getSslCfg(Long.parseLong(ids));
model.addAttribute("areaCfgs", entity.getAreaCfg());
}
initFormCondition(model,entity);
model.addAttribute("_cfg", entity);
return "/cfg/website/sslForm";
}
@RequestMapping(value = {"saveSslCfg"})
@RequiresPermissions(value={"website:ssl:config"})
public String saveSslCfg(Model model,HttpServletRequest request,HttpServletResponse response,String ids,CfgIndexInfo entity) {
websiteCfgService.saveSslCfg(entity);
return "redirect:" + adminPath +"/ntc/website/sslList?functionId="+entity.getFunctionId();
}
@RequestMapping(value = {"ajaxSslSubList"})
public String ajaxSslSubList(Model model,Long cfgId,Integer index) {
CfgIndexInfo cfg = websiteCfgService.getSslCfg(cfgId);
/*List<FunctionRegionDict> regionList = DictUtils.getFunctionRegionDictList(cfg.getFunctionId());
model.addAttribute("regionList", regionList);*/
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.getSslList()!=null){
String cfgType = null;
for(BaseStringCfg keyword:cfg.getSslList()){
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/website/sslSubList";
}
@RequestMapping(value = {"updateSslCfgValid"})
@RequiresPermissions(value={"website:ssl:config"})
public String updateSslCfgValid(Integer isValid,String ids,Integer functionId) {
websiteCfgService.updateSslCfgValid(isValid,ids,functionId);
return "redirect:" + adminPath +"/ntc/website/sslList?functionId="+functionId;
}
@RequestMapping(value = {"auditSslCfg"})
@RequiresPermissions(value={"website:ssl:audit"})
public String auditSslCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
CfgIndexInfo entity = new CfgIndexInfo();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = websiteCfgService.getHttpCfg(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
try {
websiteCfgService.auditSslCfg(entity,isAudit);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.info("ssl配置下发失败"+e.getMessage());
addMessage(redirectAttributes, e.getMessage());
}
}
return "redirect:" + adminPath +"/ntc/website/sslList?functionId="+functionId;
}
}