develop

Conflicts:
	src/main/resources/messages/message_en.properties
	src/main/resources/messages/message_ru.properties
	src/main/resources/messages/message_zh_CN.properties
	关键字日志转http url配置功能完成
This commit is contained in:
duandongmei
2018-10-29 16:29:23 +08:00
98 changed files with 2202 additions and 559 deletions

View File

@@ -131,7 +131,7 @@ public class DdosCfgController extends BaseController {
Page<DdosIpCfg> page = ddosCfgService.findPage(pageInfo, entity);
titleList.add(entity.getMenuNameCode());
classMap.put(entity.getMenuNameCode(), DdosIpCfg.class);
String cfgIndexInfoNoExport=",client_port,server_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,";
String cfgIndexInfoNoExport=",client_ip,client_port,server_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,";
noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport);
dataMap.put(entity.getMenuNameCode(), page.getList());
/*}*/

View File

@@ -168,6 +168,7 @@ public class AvController extends BaseController {
file.delete();
}
}
FileUtils.deleteDirectory(picPath);
if(zouts!=null){
zouts.close();
}
@@ -526,7 +527,7 @@ public class AvController extends BaseController {
int second = (int) (ls-hour*3600-minute*60);
length = hour+"'"+minute+"''"+second+"'''";
logger.info(file.getName()+"时长:"+length);
if(ls>0 && second>Constants.AV_DURATION_LIMIT){
if(ls>0 && ls>Constants.AV_DURATION_LIMIT){
return false;
}else{
return true;
@@ -546,7 +547,7 @@ public class AvController extends BaseController {
String sep = System.getProperty("file.separator");
String random = UUID.randomUUID()+"";
String srcFilePath = Constants.AV_FILE_PATH+"video"+sep+"srcFile";//视频源文件保存路径
String picFilePath = StringUtils.getUserfilesBaseDir()+"video"+sep+"picFile";//视频生成的关键帧图片文件保存路径
String picFilePath = StringUtils.getUserfilesBaseDir()+"video"+sep+"picFile"+sep+random+sep;//视频生成的关键帧图片文件保存路径
FileUtils.createDirectory(srcFilePath);
FileUtils.createDirectory(picFilePath);
@@ -560,13 +561,13 @@ public class AvController extends BaseController {
String shellName = Constants.VEDIO_TO_PICTURE_PROC;
// String params = srcFileAllPath+" "+picFilePath+" 0.95 90.0 0.5";
String params = srcFileAllPath+" "+picFilePath;
logger.info("调用视频转关键帧图片程序输入参数"+params);
logger.info("调用视频转关键帧图片程序:"+shellName+" " +params);
Map resultMap = avCfgService.execShell(shellName, params);
if(resultMap.get("exitStatus").equals(0)){//调用外部程序成功
String out = resultMap.get("out").toString();//输出参数
logger.info("调用视频转关键帧图片程序输出参数:"+out);
JSONArray resArray =JSONArray.fromObject(out);
JSONObject resObject = resArray.getJSONObject(0);
logger.info("调用视频转关键帧图片程序输出参数:"+resObject);
int state = resObject.getInt("state");
if(state==1){
//关键帧图片生成成功,删除原视频文件

View File

@@ -184,11 +184,11 @@ public class BgpCfgController extends BaseController{
titleList.add(entity.getMenuNameCode());
titleList.add("NTC_IP");
titleList.add("NTC_BGP_AS");
titleList.add("NTC_SUBSCRIBE_ID");
// titleList.add("NTC_SUBSCRIBE_ID");
classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class);
classMap.put("NTC_IP", IpPortCfg.class);
classMap.put("NTC_BGP_AS", BaseStringCfg.class);
classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class);
// classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class);
String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,";
String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator"
+ ",config_time,editor,edit_time,auditor,audit_time"
@@ -205,22 +205,22 @@ public class BgpCfgController extends BaseController{
noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport);
noExportMap.put("NTC_IP", ipPortInfoNoExport);
noExportMap.put("NTC_BGP_AS", regionCfgNoExport);
noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport);
// noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport);
List<IpPortCfg> ipList=new ArrayList<IpPortCfg>();
List<BaseStringCfg> subscribeInfoList=new ArrayList<BaseStringCfg>();
// List<BaseStringCfg> subscribeInfoList=new ArrayList<BaseStringCfg>();
List<BaseStringCfg> asInfoList=new ArrayList<BaseStringCfg>();
for (CfgIndexInfo cfg : page.getList()) {
CfgIndexInfo cfgIndexInfo=bgpCfgService.exportbgp(cfg);
ipList.addAll(cfgIndexInfo.getIpPortList());
subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList());
// subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList());
asInfoList.addAll(cfgIndexInfo.getNtcBgpAsCfgList());
}
asInfoList=BaseStringCfg.replaceBaseKeyList(asInfoList);
subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList);
// subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList);
dataMap.put(entity.getMenuNameCode(), page.getList());
dataMap.put("NTC_IP", ipList);
dataMap.put("NTC_BGP_AS", asInfoList);
dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList);
// dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList);
/*}*/
this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap);

View File

@@ -593,7 +593,7 @@ public class FileTransferCfgController extends BaseController{
String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,ir_type,creator,creator"
+ ",config_time,editor,edit_time,auditor,audit_time"
+",letter,whether_area_block,classification,attribute,label"
+",userregion2,userregion3,userregion4,userregion5,group_name,";
+",userregion2,userregion3,userregion4,userregion5,group_name,&userregion1:p2p_ip_config_type-";
String ntcSubscribeIdCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator"
+ ",config_time,editor,edit_time,auditor,audit_time"
+",letter,whether_area_block,classification,attribute,label"
@@ -601,7 +601,7 @@ public class FileTransferCfgController extends BaseController{
String hashCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator"
+ ",config_time,editor,edit_time,auditor,audit_time"
+",letter,whether_area_block,classification,attribute,label"
+",userregion2,userregion3,userregion4,userregion5,";
+",userregion2,userregion3,userregion4,userregion5,&userregion1:p2p_hash_type-";
String keyCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator"
+ ",config_time,editor,edit_time,auditor,audit_time"
+",letter,whether_area_block,classification,attribute,label"

View File

@@ -361,7 +361,7 @@ public class IpController extends BaseController{
classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class);
classMap.put("NTC_IP", IpPortCfg.class);
classMap.put("asn_policy", ConfigGroupInfo.class);
String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion3,userregion4,userregion5,";
String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion3,userregion4,userregion5,&userregion2:ratelimit-";
String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator"
+ ",config_time,editor,edit_time,auditor,audit_time"
+",letter,whether_area_block,classification,attribute,label"

View File

@@ -12,6 +12,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.taglibs.standard.functions.Functions;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
@@ -136,6 +137,21 @@ public class WhiteListController extends CommonController{
return "/cfg/whitelist/domainList";
}
@RequestMapping(value = {"saveHttpUrlCfgs"})
public String saveHttpUrlCfgs(RedirectAttributes model,HttpServletRequest request,HttpServletResponse response,CfgIndexInfo entity) {
if(!StringUtil.isEmpty(entity) && !StringUtil.isEmpty(entity.getHttpUrlList())){
for (HttpUrlCfg httpUrlCfg : entity.getHttpUrlList()) {
CfgIndexInfo cfg=new CfgIndexInfo();
List httpList=new ArrayList<>();
BeanUtils.copyProperties(httpUrlCfg, cfg);
httpList.add(httpUrlCfg);
cfg.setHttpUrlList(httpList);
websiteCfgService.saveHttpCfg(cfg);
}
}
return "redirect:" + adminPath +"/ntc/whitelist/domain/list?functionId="+entity.getFunctionId();
}
@RequestMapping(value = {"domain/form"})
@RequiresPermissions(value={"whitelist:domain:config"})
public String domainForm(Model model,String ids,CfgIndexInfo entity) {

View File

@@ -5,6 +5,7 @@ import java.util.Date;
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;
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.FunctionRegionDict;
import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.callback.ProxyFileStrategyCfg;
import com.nis.domain.configuration.BaseStringCfg;
@@ -33,6 +35,7 @@ import com.nis.domain.configuration.NtcSubscribeIdCfg;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.StringUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@@ -267,8 +270,45 @@ public class HttpRedirectPolicyController extends BaseController{
pageInfo.setPageNo(1);
pageInfo.setPageSize(-1);
}
Page<CfgIndexInfo> page = httpRedirectCfgService.getHttpRedirectList(pageInfo, entity);
Properties prop = getMsgProp();
for (CfgIndexInfo str : page.getList()) {
if(entity.getFunctionId()!=210 && entity.getFunctionId()!=211){
String type="RESPONSE_CODE";
if(entity.getFunctionId()==207){
type="RESPONSE_CODE";
}else if(entity.getFunctionId()==208){
type="REDIRECT_RESPONSE_CODE";
}else if(entity.getFunctionId()==209){
type="CONTROL_REPLACE_ZONE";
}
String dictlabel= DictUtils.getDictLabel(type, str.getUserRegion1());
str.setUserRegion1(prop.getProperty(dictlabel));
if(entity.getFunctionId()==207 || entity.getFunctionId()==208){
if(StringUtil.isEmpty(str.getUserRegion2())){
if(!StringUtil.isEmpty(str.getUserRegion3())){
ProxyFileStrategyCfg file= new ProxyFileStrategyCfg();
file.setCompileId(Integer.valueOf(str.getUserRegion3()));
List<ProxyFileStrategyCfg> allProxyFileStrategys = proxyFileStrategyService.getProxyFileStrategyCfgList(file);
if(allProxyFileStrategys!=null && allProxyFileStrategys.size()>0){
str.setUserRegion2(allProxyFileStrategys.get(0).getCfgDesc());
}
}
}
}
}
}
String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,";
if(entity.getFunctionId()==207){
cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion1:response_code-userregion2:response_content-";
}else if(entity.getFunctionId()==208){
cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion1:redirect_response_code-userregion2:redirect_url-";
}else if(entity.getFunctionId()==209){
cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion1:replace_zone-userregion2:replaced_content-userregion3:replace_content-";
}else if(entity.getFunctionId()==211){
cfgIndexInfoNoExport=",do_log,log_total,policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,";
}
String httpUrlCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator"
+ ",config_time,editor,edit_time,auditor,audit_time"
+",letter,whether_area_block,classification,attribute,label"

View File

@@ -5,31 +5,29 @@ import java.util.Date;
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.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.taglibs.standard.functions.Functions;
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.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.SysUser;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.HttpUrlCfg;
import com.nis.domain.configuration.InterceptPktBin;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.configuration.PxyObjKeyring;
import com.nis.domain.specific.ConfigGroupInfo;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.StringUtil;
import com.nis.web.controller.configuration.CommonController;
import com.nis.web.security.UserUtils;
@@ -198,6 +196,7 @@ public class InterceptController extends CommonController{
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
Map<String, String> replaceExportMap=new HashMap<String, String>();
/*//导出选中记录
@@ -218,9 +217,34 @@ public class InterceptController extends CommonController{
pageInfo.setPageSize(-1);
}
Page<CfgIndexInfo> page = ipCfgService.getIpCfgList(pageInfo, entity);
//获取证书信息
List<PxyObjKeyring> certificateList=new ArrayList<PxyObjKeyring>();
if(entity.getFunctionId().equals(200)){
certificateList=pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "ip");
}
if(entity.getFunctionId().equals(201)){
certificateList=pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "domain");
}
for (CfgIndexInfo str : page.getList()) {
if(!StringUtil.isEmpty(str.getUserRegion5())){
Properties prop = getMsgProp();
String cs= DictUtils.getDictLabel("INTERCEPT_DOMAIN_INTENSITY", str.getUserRegion5());
str.setUserRegion5(prop.getProperty(cs));
}
if(certificateList!=null){
if(entity.getFunctionId()==200|| entity.getFunctionId()==201){
for (PxyObjKeyring pxyObjKeyring : certificateList) {
if(str.getUserRegion2().equals(pxyObjKeyring.getCompileId())){
str.setUserRegion2(pxyObjKeyring.getCfgDesc());
}
}
}
}
}
titleList.add(entity.getMenuNameCode());
classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class);
String cfgIndexInfoNoExport=",policy_name,group_name,userregion4,userregion5,";
String cfgIndexInfoNoExport="";
String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator"
+ ",config_time,editor,edit_time,auditor,audit_time"
+",letter,whether_area_block,classification,attribute,label"
@@ -233,7 +257,7 @@ public class InterceptController extends CommonController{
+ ",config_time,editor,edit_time,auditor,audit_time"
+",letter,whether_area_block,classification,attribute,label"
+",userregion1,userregion2,userregion3,userregion4,userregion5,";
noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport);
List<IpPortCfg> ipList=new ArrayList<IpPortCfg>();
List<BaseStringCfg> httpUrlList=new ArrayList<BaseStringCfg>();
List<BaseStringCfg> pktBinList=new ArrayList<BaseStringCfg>();
@@ -247,6 +271,7 @@ public class InterceptController extends CommonController{
httpUrlList=BaseStringCfg.baseHexList(httpUrlList);
dataMap.put(entity.getMenuNameCode(), page.getList());
if(entity.getFunctionId()==212){ //IP Payload
cfgIndexInfoNoExport=",do_log,log_total,policy_name,group_name,userregion4,userregion5,&userregion1:replace_zone-userregion2:replaced_content-userregion3:replace_content-";
titleList.add("PXY_INTERCEPT_IP");
titleList.add("PXY_INTERCEPT_PKT_BIN");
classMap.put("PXY_INTERCEPT_IP", IpPortCfg.class);
@@ -256,16 +281,20 @@ public class InterceptController extends CommonController{
dataMap.put("PXY_INTERCEPT_IP", ipList);
dataMap.put("PXY_INTERCEPT_PKT_BIN", pktBinList);
}else if(entity.getFunctionId()==200){//IP拦截
cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion2:ratelimit-userregion1:certificate-";
titleList.add("PXY_INTERCEPT_IP");
classMap.put("PXY_INTERCEPT_IP", IpPortCfg.class);
noExportMap.put("PXY_INTERCEPT_IP", ipPortInfoNoExport);
dataMap.put("PXY_INTERCEPT_IP", ipList);
}else if(entity.getFunctionId()==201){//域名拦截
cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,&userregion2:ratelimit-userregion1:certificate-userregion5:intercept_intensity-";
titleList.add("NTC_HTTP_URL");
classMap.put("NTC_HTTP_URL", HttpUrlCfg.class);
noExportMap.put("NTC_HTTP_URL", httpUrlCfgNoExport);
dataMap.put("NTC_HTTP_URL", httpUrlList);
}
noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport);
/*}*/
this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap);
} catch (Exception e) {

View File

@@ -4,6 +4,7 @@ package com.nis.web.controller.configuration.statistics;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -11,20 +12,27 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.mchange.v1.util.MapUtils;
import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.SysArea;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.RequestInfo;
import com.nis.util.CacheUtils;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.StringUtil;
import com.nis.util.StringUtils;
import com.nis.web.controller.BaseController;
import com.nis.web.service.BaseService;
import com.nis.web.service.CommonService;
@@ -76,4 +84,33 @@ public class ConfigureStatisticsController extends BaseController{
model.addAttribute("configStatisticTime", configureStatisticsService.getConfigStatisticTime());
return "/index";
}
/**
* 根据业务ID查询当前业务配置是否可继续新增如果达到规则限制量则不允许新增。
* @param serviceId
* @param response
* @return
*/
@ResponseBody
@RequestMapping(value = "/getEffectiveCfgNum")
public Map getEffectiveCfgNum(Integer serviceId, HttpServletResponse response) {
Map map= new HashMap();
Integer cfgNum = configureStatisticsService.getEffectiveCfgNum(serviceId);
String dictValue = DictUtils.getDictLabel("SERVICE_RULE_LIMIT", serviceId+"","default").trim();
Integer ruleLimit = 0;
if(!"default".equals(dictValue)){
ruleLimit = Integer.parseInt(dictValue);
}
if(ruleLimit==0){
map.put("status", 1);//如果为0说明没有限制
}else if(cfgNum<ruleLimit){
map.put("status", 1);//当前配置量小于限制
}else{
map.put("status", 0);//当前配置量大于或等于限制,则不允许添加
map.put("msg", String.format(this.getMsgProp().getProperty("ruleLimitTip"),ruleLimit));
}
map.put("cfgNum", cfgNum);
map.put("ruleLimit", ruleLimit);
return map;
}
}