diff --git a/src/main/java/com/nis/domain/PageLog.java b/src/main/java/com/nis/domain/PageLog.java index f406359c6..67d94728f 100644 --- a/src/main/java/com/nis/domain/PageLog.java +++ b/src/main/java/com/nis/domain/PageLog.java @@ -34,7 +34,7 @@ public class PageLog { private long count;// 总记录数,设置为“-1”表示不查询总数 private int first;// 首页索引 -// private int last;// 尾页索引 + private int last;// 尾页索引 private int prev;// 上一页索引 private int next;// 下一页索引 @@ -42,8 +42,8 @@ public class PageLog { private boolean firstPage;//是否是第一页 private boolean lastPage;//是否是最后一页 -// private int length = 8;// 显示页面长度 -// private int slider = 1;// 前后显示页面长度 + private int length = 8;// 显示页面长度 + private int slider = 1;// 前后显示页面长度 private List list = new ArrayList(); @@ -266,7 +266,49 @@ public class PageLog { //1 this.first = 1; - + // 控制接口是否启用count last + if (this.count!=0) { + this.last = (int)(count / (this.pageSize < 1 ? 20 : this.pageSize) + first - 1); + + if (this.count % this.pageSize != 0 || this.last == 0) { + this.last++; + } + + if (this.last < this.first) { + this.last = this.first; + } + + if (this.pageNo <= 1) { + this.pageNo = this.first; + this.firstPage=true; + } + + if (this.pageNo >= this.last) { + this.pageNo = this.last; + this.lastPage=true; + } + + if (this.pageNo < this.last - 1) { + this.next = this.pageNo + 1; + } else { + this.next = this.last; + } + + if (this.pageNo > 1) { + this.prev = this.pageNo - 1; + } else { + this.prev = this.first; + } + + //2 + if (this.pageNo < this.first) {// 如果当前页小于首页 + this.pageNo = this.first; + } + + if (this.pageNo > this.last) {// 如果当前页大于尾页 + this.pageNo = this.last; + } + }else { //首页 if (this.pageNo <= 1) { this.pageNo = this.first; @@ -293,7 +335,7 @@ public class PageLog { if (this.pageNo < this.first) {// 如果当前页小于首页 this.pageNo = this.first; } - + } } @@ -303,14 +345,92 @@ public class PageLog { */ @Override public String toString() { - + StringBuilder sb = new StringBuilder(); + // 控制接口返回count last 切换分页 + if (this.count!=0) { + if(list != null && list.isEmpty()) { + return "
  "+requestContext.getMessage("noneData")+"
"; + } + if (pageNo == first) {// 如果是首页 + sb.append("
  • « "+requestContext.getMessage("previousPage")+"
  • \n"); + } else { + sb.append("
  • « "+requestContext.getMessage("previousPage")+"
  • \n"); + } + int begin = pageNo - (length / 2); + + if (begin < first) { + begin = first; + } + + int end = begin + length - 1; + + if (end >= last) { + end = last; + begin = end - length + 1; + if (begin < first) { + begin = first; + } + } + + if (begin > first) { + int i = 0; + for (i = first; i < first + slider && i < begin; i++) { + sb.append("
  • " + + (i + 1 - first) + "
  • \n"); + } + if (i < begin) { + sb.append("
  • ...
  • \n"); + } + } + + for (int i = begin; i <= end; i++) { + if (i == pageNo) { + sb.append("
  • " + (i + 1 - first) + + "
  • \n"); + } else { + sb.append("
  • " + + (i + 1 - first) + "
  • \n"); + } + } + + if (last - end > slider) { + sb.append("
  • ...
  • \n"); + end = last - slider; + } + + for (int i = end + 1; i <= last; i++) { + sb.append("
  • " + + (i + 1 - first) + "
  • \n"); + } + + if (pageNo == last) { + sb.append("
  • "+requestContext.getMessage("nextPage")+" »
  • \n"); + } else { + sb.append("
  • " + + ""+requestContext.getMessage("nextPage")+" »
  • \n"); + } + + sb.append("
  • "+requestContext.getMessage("current")+" "); + sb.append(" / "); + sb.append(" "+requestContext.getMessage("page")+","); + sb.append(""+requestContext.getMessage("total")+" " + count + " "+requestContext.getMessage("count")+""+(message!=null?message:"")+"
  • \n"); + + sb.insert(0,"
      \n").append("
    \n"); + + sb.append("
    "); + +// sb.insert(0,"
    \n").append("
    \n"); + + }else { + if(list != null && list.isEmpty()&&pageNo<=1) { return "
      "+requestContext.getMessage("noneData")+"
    "; } - StringBuilder sb = new StringBuilder(); sb.append("
  • "+requestContext.getMessage("firstPage")+"
  • \n"); if (pageNo == first) {// 如果是首页 @@ -335,7 +455,7 @@ public class PageLog { sb.insert(0,"
      \n").append("
    \n"); sb.append("
    "); - + } return sb.toString(); } @@ -413,7 +533,21 @@ public class PageLog { return first; } - + /** + * 尾页索引 + * @return + */ + public int getLast() { + return last; + } + /** + * 获取页面总数 + * @return getLast(); + */ + @JsonIgnore + public int getTotalPage() { + return getLast(); + } /** * 是否为第一页 * @return diff --git a/src/main/java/com/nis/domain/callback/ProxyObjTrustedCa.java b/src/main/java/com/nis/domain/callback/ProxyObjTrustedCa.java new file mode 100644 index 000000000..d2692e684 --- /dev/null +++ b/src/main/java/com/nis/domain/callback/ProxyObjTrustedCa.java @@ -0,0 +1,132 @@ +package com.nis.domain.callback; + +import java.util.Date; + +import com.google.gson.annotations.Expose; +public class ProxyObjTrustedCa { + @Expose + private Long id; //compileId + @Expose + private Integer cfgId; //compileId + @Expose + private Integer certId; //compileId + @Expose + private Integer action; + @Expose + private Integer service; + @Expose + private Integer isValid; + @Expose + private Date opTime; + @Expose + private String certFile; + @Expose + private String certName; + @Expose + private Integer crlId; //crlId compileId crl使用 + @Expose + private String crlFile;//crlFile crl使用 + + public String getCrlFile() { + return crlFile; + } + public void setCrlFile(String crlFile) { + this.crlFile = crlFile; + } + public Integer getCrlId() { + return crlId; + } + public void setCrlId(Integer crlId) { + this.crlId = crlId; + } + + + public Integer getCertId() { + return certId; + } + public void setCertId(Integer certId) { + this.certId = certId; + } + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + public void setCfgId(Integer cfgId) { + this.cfgId = cfgId; + } + public Integer getCfgId() { + return cfgId; + } + + public String getCertName() { + return certName; + } + public void setCertName(String certName) { + this.certName = certName; + } + public String getCertFile() { + return certFile; + } + public void setCertFile(String certFile) { + this.certFile = certFile; + } + /** + * action + * @return action + */ + + public Integer getAction() { + return action; + } + /** + * @param action the action to set + */ + public void setAction(Integer action) { + this.action = action; + } + /** + * isValid + * @return isValid + */ + + public Integer getIsValid() { + return isValid; + } + /** + * @param isValid the isValid to set + */ + public void setIsValid(Integer isValid) { + this.isValid = isValid; + } + /** + * opTime + * @return opTime + */ + + public Date getOpTime() { + return opTime; + } + /** + * @param opTime the opTime to set + */ + public void setOpTime(Date opTime) { + this.opTime = opTime; + } + + /** + * service + * @return service + */ + + public Integer getService() { + return service; + } + /** + * @param service the service to set + */ + public void setService(Integer service) { + this.service = service; + } +} diff --git a/src/main/java/com/nis/domain/callback/ProxyObjTrustedCaCrl.java b/src/main/java/com/nis/domain/callback/ProxyObjTrustedCaCrl.java new file mode 100644 index 000000000..ae428f1c8 --- /dev/null +++ b/src/main/java/com/nis/domain/callback/ProxyObjTrustedCaCrl.java @@ -0,0 +1,115 @@ +package com.nis.domain.callback; + +import java.util.Date; + +import com.google.gson.annotations.Expose; +public class ProxyObjTrustedCaCrl { + @Expose + private Long id; //compileId + @Expose + private Integer cfgId; //compileId + @Expose + private Long certId; //cert compileId + @Expose + private Integer crlId; //cert compileId + @Expose + private Integer action; + @Expose + private Integer service; + @Expose + private Integer isValid; + @Expose + private Date opTime; + @Expose + private String crlFile; + + public String getCrlFile() { + return crlFile; + } + public void setCrlFile(String crlFile) { + this.crlFile = crlFile; + } + public Integer getCrlId() { + return crlId; + } + public void setCrlId(Integer crlId) { + this.crlId = crlId; + } + + public Long getCertId() { + return certId; + } + public void setCertId(Long certId) { + this.certId = certId; + } + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + public void setCfgId(Integer cfgId) { + this.cfgId = cfgId; + } + public Integer getCfgId() { + return cfgId; + } + + /** + * action + * @return action + */ + + public Integer getAction() { + return action; + } + /** + * @param action the action to set + */ + public void setAction(Integer action) { + this.action = action; + } + /** + * isValid + * @return isValid + */ + + public Integer getIsValid() { + return isValid; + } + /** + * @param isValid the isValid to set + */ + public void setIsValid(Integer isValid) { + this.isValid = isValid; + } + /** + * opTime + * @return opTime + */ + + public Date getOpTime() { + return opTime; + } + /** + * @param opTime the opTime to set + */ + public void setOpTime(Date opTime) { + this.opTime = opTime; + } + + /** + * service + * @return service + */ + + public Integer getService() { + return service; + } + /** + * @param service the service to set + */ + public void setService(Integer service) { + this.service = service; + } +} diff --git a/src/main/java/com/nis/domain/configuration/AppFeatureIndex.java b/src/main/java/com/nis/domain/configuration/AppFeatureIndex.java index 634b736c5..a1b63b558 100644 --- a/src/main/java/com/nis/domain/configuration/AppFeatureIndex.java +++ b/src/main/java/com/nis/domain/configuration/AppFeatureIndex.java @@ -29,7 +29,7 @@ public class AppFeatureIndex extends BaseCfg { private static final long serialVersionUID = -8069201965300255275L; private static final String tableName="app_feature_index"; private Integer appCode;//specific_service_cfg表一级节点的spec_service_code - @ExcelField(title="social_app",sort=2) + @ExcelField(title="social_app",sort=3) private String appName; private Integer specServiceId; private Integer behavCode;//specific_service_cfg表二级节点的spec_service_code diff --git a/src/main/java/com/nis/domain/configuration/AppStringFeatureCfg.java b/src/main/java/com/nis/domain/configuration/AppStringFeatureCfg.java index 8cf3044ea..3a7943d1f 100644 --- a/src/main/java/com/nis/domain/configuration/AppStringFeatureCfg.java +++ b/src/main/java/com/nis/domain/configuration/AppStringFeatureCfg.java @@ -26,28 +26,64 @@ public class AppStringFeatureCfg extends BaseCfg { private static final long serialVersionUID = 8677301658049443801L; private static final String tableName="app_string_feature_cfg"; @Expose + @ExcelField(title="cfg_id",sort=0) private Integer compileId; private Integer appCode;//specific_service_cfg表一级节点的spec_service_code private Integer behavCode;//specific_service_cfg表二级节点的spec_service_code private Integer specServiceId; private String bytes; + @ExcelField(title="URL",sort=201) private String cfgKeywords; private String appName; + /** + * 表达式类型 + */ @Expose - @ExcelField(title="expression_type") + @ExcelField(title="expression_type",dictType="EXPRESSION_TYPE",sort=202) @SerializedName("exprType") protected Integer exprType ; - + /** + * 匹配方式 + */ @Expose - @ExcelField(title="match_method") + @ExcelField(title="match_method",dictType="MATCH_METHOD",sort=203) @SerializedName("matchMethod") protected Integer matchMethod ; - + /** + * 是否hex + */ + @ExcelField(title="is_hex",sort=204) + protected Integer isHex; + /** + * 是否hex + */ + @ExcelField(title="is_case_insenstive",sort=205) + protected Integer isCaseInsenstive; + /** + * 是否hex二进制 + */ @Expose - @ExcelField(title="whether_hexbinary") @SerializedName("isHexbin") protected Integer isHexbin; + + + + public Integer getIsHex() { + return isHex; + } + + public void setIsHex(Integer isHex) { + this.isHex = isHex; + } + + public Integer getIsCaseInsenstive() { + return isCaseInsenstive; + } + + public void setIsCaseInsenstive(Integer isCaseInsenstive) { + this.isCaseInsenstive = isCaseInsenstive; + } public Integer getExprType() { return exprType; diff --git a/src/main/java/com/nis/domain/configuration/AppTopicDomainCfg.java b/src/main/java/com/nis/domain/configuration/AppTopicDomainCfg.java index ebd519770..742f7ca17 100644 --- a/src/main/java/com/nis/domain/configuration/AppTopicDomainCfg.java +++ b/src/main/java/com/nis/domain/configuration/AppTopicDomainCfg.java @@ -24,6 +24,7 @@ public class AppTopicDomainCfg extends BaseCfg { private static final String tableName="app_topic_domain_cfg"; @Expose + @ExcelField(title="cfg_id",sort=0) private Integer compileId; @Expose private String ratelimit; diff --git a/src/main/java/com/nis/domain/configuration/BaseCfg.java b/src/main/java/com/nis/domain/configuration/BaseCfg.java index 14483c5a4..b4a7a5191 100644 --- a/src/main/java/com/nis/domain/configuration/BaseCfg.java +++ b/src/main/java/com/nis/domain/configuration/BaseCfg.java @@ -72,7 +72,7 @@ public class BaseCfg extends BaseEntity implements Cloneable{ * GK类型 */ @Expose - @ExcelField(title="action",dictType="SERVICE_ACTION",sort=2) + @ExcelField(title="block_type",dictType="SERVICE_ACTION",sort=2) protected Integer action; /** * 有效标识 diff --git a/src/main/java/com/nis/domain/configuration/PxyObjTrustedCaCert.java b/src/main/java/com/nis/domain/configuration/PxyObjTrustedCaCert.java new file mode 100644 index 000000000..7d4235b9b --- /dev/null +++ b/src/main/java/com/nis/domain/configuration/PxyObjTrustedCaCert.java @@ -0,0 +1,40 @@ +package com.nis.domain.configuration; + + +/** + * 可信证书 + * @author ddm + * + */ +public class PxyObjTrustedCaCert extends BaseCfg { + + /** + * + */ + private static final long serialVersionUID = -2720862431960415564L; + private String indexTable="pxy_obj_trusted_ca_cert"; + private String issuer; //颁发者 + private String certFile; + public String getIssuer() { + return issuer; + } + public void setIssuer(String issuer) { + this.issuer = issuer; + } + + public String getCertFile() { + return certFile; + } + public void setCertFile(String certFile) { + this.certFile = certFile; + } + + public String getIndexTable() { + return indexTable; + } + public void setIndexTable(String indexTable) { + this.indexTable = indexTable; + } + + +} diff --git a/src/main/java/com/nis/domain/configuration/PxyObjTrustedCaCrl.java b/src/main/java/com/nis/domain/configuration/PxyObjTrustedCaCrl.java new file mode 100644 index 000000000..a675d1c21 --- /dev/null +++ b/src/main/java/com/nis/domain/configuration/PxyObjTrustedCaCrl.java @@ -0,0 +1,49 @@ +package com.nis.domain.configuration; + +import java.util.Date; + +import com.nis.util.excel.ExcelField; + +/** + * 吊销证书列表 + * @author ddm + * + */ +public class PxyObjTrustedCaCrl extends BaseCfg { + + /** + * + */ + private static final long serialVersionUID = -2720862431960415564L; + private String indexTable="pxy_obj_trusted_ca_crl"; + private String issuer; //颁发者 + private Integer certId; //证书Id 默认证书为空 + private String crlFile; //crlFile + public String getIssuer() { + return issuer; + } + public void setIssuer(String issuer) { + this.issuer = issuer; + } + + public String getCrlFile() { + return crlFile; + } + public void setCrlFile(String crlFile) { + this.crlFile = crlFile; + } + public Integer getCertId() { + return certId; + } + public void setCertId(Integer certId) { + this.certId = certId; + } + public String getIndexTable() { + return indexTable; + } + public void setIndexTable(String indexTable) { + this.indexTable = indexTable; + } + + +} diff --git a/src/main/java/com/nis/domain/log/NtcCollectVoipLog.java b/src/main/java/com/nis/domain/log/NtcCollectVoipLog.java new file mode 100644 index 000000000..14f0e42b7 --- /dev/null +++ b/src/main/java/com/nis/domain/log/NtcCollectVoipLog.java @@ -0,0 +1,438 @@ +package com.nis.domain.log; + +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.nis.domain.BaseEntity; +import com.wordnik.swagger.annotations.ApiModelProperty; + +/** + * + * @ClassName:NtcCollectVoipLog + * @Description:TODO(这里用一句话描述这个类的作用) + * @author zdx + * @date 2018年11月5日 下午5:50:18 + * @version V1.0 + */ +public class NtcCollectVoipLog extends BaseEntity { + + private static final long serialVersionUID = -2189520672838652485L; + + @ApiModelProperty(value = "节目ID", required = true) + protected String pid; + + @ApiModelProperty(value = "发现时间", required = true) + protected Date foundTime; + @ApiModelProperty(value = "接收时间", required = true) + protected Date recvTime; + @ApiModelProperty(value = "处理机IP", required = true) + protected String capIp; + @ApiModelProperty(value = "VOIP协议", required = true) + protected String voipProtocol; + @ApiModelProperty(value = "RTP服务端ip地址", required = true) + protected String rtpDIp; + @ApiModelProperty(value = "RTP客户端ip地址", required = true) + protected String rtpSIp; + @ApiModelProperty(value = "RTP服务端端口", required = true) + protected Integer rtpDPort; + @ApiModelProperty(value = "RTP客户端端口", required = true) + protected Integer rtpSPort; + @ApiModelProperty(value = "主叫VOIP语音文件存放服务器IP", required = true) + protected String fromToStoreIp; + @ApiModelProperty(value = "主叫VOIP语音文件存放服务器URL", required = true) + protected String fromToStoreUrl; + @ApiModelProperty(value = "被叫VOIP语音文件存放服务器IP", required = true) + protected String toFromStoreIp; + @ApiModelProperty(value = "被叫VOIP语音文件存放服务器URL", required = true) + protected String toFromStoreUrl; + @ApiModelProperty(value = "VOIP通话时长(秒)", required = true) + protected String duation; + @ApiModelProperty(value = "SIP服务端ip地址", required = true) + protected String sipDIp; + @ApiModelProperty(value = "SIP客户端ip地址", required = true) + protected String sipSIp; + @ApiModelProperty(value = "SIP服务端端口", required = true) + protected Integer sipDPort; + @ApiModelProperty(value = "SIP客户端端口", required = true) + protected Integer sipSPort; + @ApiModelProperty(value = "SIP会话ID", required = true) + protected String callId; + @ApiModelProperty(value = "SIP请求URI", required = true) + protected String requestUri; + @ApiModelProperty(value = "SIP主叫VOIP账号", required = true) + protected String callingAccount; + @ApiModelProperty(value = "SIP被叫VOIP账号", required = true) + protected String calledAccount; + @ApiModelProperty(value = "SIP相应字段", required = true) + protected String contacts; + @ApiModelProperty(value = "SIP相应字段", required = true) + protected String via; + @ApiModelProperty(value = "SIP相应字段", required = true) + protected String route; + @ApiModelProperty(value = "SIP相应字段", required = true) + protected String recordRoute; + @ApiModelProperty(value = "SIP相应字段", required = true) + protected String userAgent; + @ApiModelProperty(value = "SIP相应字段", required = true) + protected String server; + + + protected Integer functionId; + protected Integer action; + + protected String date;//配置界面日志总量查询时间 + protected String isLogTotalSearch;//由配置列表点击日志总量进行查询的标识 + protected String orderBy;//排序参数 + + protected String searchVoipProtocol;//协议类型 + protected String searchRtpDIp;//RTP服务端ip + protected String searchRtpSIp;//RTP客户端ip + protected String searchSipDIp;//SIP服务端ip + protected String searchSipSIp;//SIP客户端ip + protected String searchCapIp;//处理机IP + protected String searchFoundStartTime;//开始发现时间 + protected String searchFoundEndTime;//结束发现时间 + + public NtcCollectVoipLog() { + super(); + // TODO Auto-generated constructor stub + } + + /** + * @return the voipProtocol + */ + public String getVoipProtocol() { + return voipProtocol; + } + + /** + * @param voipProtocol + * the voipProtocol to set + */ + public void setVoipProtocol(String voipProtocol) { + this.voipProtocol = voipProtocol; + } + + public String getDuation() { + return duation; + } + + public void setDuation(String duation) { + this.duation = duation; + } + + public String getCallingAccount() { + return callingAccount; + } + + public void setCallingAccount(String callingAccount) { + this.callingAccount = callingAccount; + } + + public String getCalledAccount() { + return calledAccount; + } + + public void setCalledAccount(String calledAccount) { + this.calledAccount = calledAccount; + } + + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + + public Date getFoundTime() { + return foundTime; + } + + public void setFoundTime(Date foundTime) { + this.foundTime = foundTime; + } + + public Date getRecvTime() { + return recvTime; + } + + public void setRecvTime(Date recvTime) { + this.recvTime = recvTime; + } + + public String getCapIp() { + return capIp; + } + + public void setCapIp(String capIp) { + this.capIp = capIp; + } + + public String getRtpDIp() { + return rtpDIp; + } + + public void setRtpDIp(String rtpDIp) { + this.rtpDIp = rtpDIp; + } + + public String getRtpSIp() { + return rtpSIp; + } + + public void setRtpSIp(String rtpSIp) { + this.rtpSIp = rtpSIp; + } + + public Integer getRtpDPort() { + return rtpDPort; + } + + public void setRtpDPort(Integer rtpDPort) { + this.rtpDPort = rtpDPort; + } + + public Integer getRtpSPort() { + return rtpSPort; + } + + public void setRtpSPort(Integer rtpSPort) { + this.rtpSPort = rtpSPort; + } + + public String getFromToStoreIp() { + return fromToStoreIp; + } + + public void setFromToStoreIp(String fromToStoreIp) { + this.fromToStoreIp = fromToStoreIp; + } + + public String getFromToStoreUrl() { + return fromToStoreUrl; + } + + public void setFromToStoreUrl(String fromToStoreUrl) { + this.fromToStoreUrl = fromToStoreUrl; + } + + public String getToFromStoreIp() { + return toFromStoreIp; + } + + public void setToFromStoreIp(String toFromStoreIp) { + this.toFromStoreIp = toFromStoreIp; + } + + public String getToFromStoreUrl() { + return toFromStoreUrl; + } + + public void setToFromStoreUrl(String toFromStoreUrl) { + this.toFromStoreUrl = toFromStoreUrl; + } + + public String getSipDIp() { + return sipDIp; + } + + public void setSipDIp(String sipDIp) { + this.sipDIp = sipDIp; + } + + public String getSipSIp() { + return sipSIp; + } + + public void setSipSIp(String sipSIp) { + this.sipSIp = sipSIp; + } + + public Integer getSipDPort() { + return sipDPort; + } + + public void setSipDPort(Integer sipDPort) { + this.sipDPort = sipDPort; + } + + public Integer getSipSPort() { + return sipSPort; + } + + public void setSipSPort(Integer sipSPort) { + this.sipSPort = sipSPort; + } + + public String getCallId() { + return callId; + } + + public void setCallId(String callId) { + this.callId = callId; + } + + public String getRequestUri() { + return requestUri; + } + + public void setRequestUri(String requestUri) { + this.requestUri = requestUri; + } + + public String getContacts() { + return contacts; + } + + public void setContacts(String contacts) { + this.contacts = contacts; + } + + public String getVia() { + return via; + } + + public void setVia(String via) { + this.via = via; + } + + public String getRoute() { + return route; + } + + public void setRoute(String route) { + this.route = route; + } + + public String getRecordRoute() { + return recordRoute; + } + + public void setRecordRoute(String recordRoute) { + this.recordRoute = recordRoute; + } + + public String getUserAgent() { + return userAgent; + } + + public void setUserAgent(String userAgent) { + this.userAgent = userAgent; + } + + public String getServer() { + return server; + } + + public void setServer(String server) { + this.server = server; + } + @JsonIgnore + public String getSearchVoipProtocol() { + return searchVoipProtocol; + } + + public void setSearchVoipProtocol(String searchVoipProtocol) { + this.searchVoipProtocol = searchVoipProtocol; + } + @JsonIgnore + public String getSearchRtpDIp() { + return searchRtpDIp; + } + + public void setSearchRtpDIp(String searchRtpDIp) { + this.searchRtpDIp = searchRtpDIp; + } + @JsonIgnore + public String getSearchRtpSIp() { + return searchRtpSIp; + } + + public void setSearchRtpSIp(String searchRtpSIp) { + this.searchRtpSIp = searchRtpSIp; + } + @JsonIgnore + public String getSearchSipDIp() { + return searchSipDIp; + } + + public void setSearchSipDIp(String searchSipDIp) { + this.searchSipDIp = searchSipDIp; + } + + public String getSearchSipSIp() { + return searchSipSIp; + } + + public void setSearchSipSIp(String searchSipSIp) { + this.searchSipSIp = searchSipSIp; + } + + @JsonIgnore + public String getSearchCapIp() { + return searchCapIp; + } + + public void setSearchCapIp(String searchCapIp) { + this.searchCapIp = searchCapIp; + } + @JsonIgnore + public String getSearchFoundStartTime() { + return searchFoundStartTime; + } + + public void setSearchFoundStartTime(String searchFoundStartTime) { + this.searchFoundStartTime = searchFoundStartTime; + } + + @JsonIgnore + public String getSearchFoundEndTime() { + return searchFoundEndTime; + } + + public void setSearchFoundEndTime(String searchFoundEndTime) { + this.searchFoundEndTime = searchFoundEndTime; + } + + public Integer getFunctionId() { + return functionId; + } + + public void setFunctionId(Integer functionId) { + this.functionId = functionId; + } + + public Integer getAction() { + return action; + } + + public void setAction(Integer action) { + this.action = action; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getIsLogTotalSearch() { + return isLogTotalSearch; + } + + public void setIsLogTotalSearch(String isLogTotalSearch) { + this.isLogTotalSearch = isLogTotalSearch; + } + + public String getOrderBy() { + return orderBy; + } + + public void setOrderBy(String orderBy) { + this.orderBy = orderBy; + } + +} diff --git a/src/main/java/com/nis/util/ConfigDictUtils.java b/src/main/java/com/nis/util/ConfigDictUtils.java index 3f6256c6f..dffc42ed2 100644 --- a/src/main/java/com/nis/util/ConfigDictUtils.java +++ b/src/main/java/com/nis/util/ConfigDictUtils.java @@ -1,5 +1,6 @@ package com.nis.util; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -14,10 +15,12 @@ import com.nis.domain.basics.ServiceDictInfo; import com.nis.domain.basics.SysDictInfo; import com.nis.domain.configuration.BaseStringCfg; import com.nis.domain.configuration.CfgIndexInfo; +import com.nis.domain.configuration.PxyObjTrustedCaCrl; import com.nis.domain.specific.SpecificServiceCfg; import com.nis.web.dao.SysDictDao; import com.nis.web.dao.basics.ServiceDictInfoDao; import com.nis.web.dao.basics.SysDictInfoDao; +import com.nis.web.dao.configuration.PxyObjKeyringDao; import com.nis.web.dao.configuration.WebsiteCfgDao; import com.nis.web.dao.specific.SpecificServiceCfgDao; import com.nis.web.service.SpringContextHolder; @@ -37,6 +40,7 @@ public class ConfigDictUtils { private final static SysDictInfoDao sysDictInfoDao = SpringContextHolder.getBean(SysDictInfoDao.class); private final static SpecificServiceCfgDao specificServiceCfgDao = SpringContextHolder.getBean(SpecificServiceCfgDao.class); private final static WebsiteCfgDao websiteCfgDao = SpringContextHolder.getBean(WebsiteCfgDao.class); + private final static PxyObjKeyringDao pxyObjKeyringDao = SpringContextHolder.getBean(PxyObjKeyringDao.class); /** * 根据主键查询配置详情 @@ -177,4 +181,26 @@ public class ConfigDictUtils { } return httpBodyKeyword; } + /** + * 根据compileId获取配置内容 + * @param compileId + * @return + */ + public static String getTrustedCrlByCerId(Integer certId ) { + String crlFIle=""; + try { + if(!StringUtil.isEmpty(certId)){ + PxyObjTrustedCaCrl crl=new PxyObjTrustedCaCrl(); + crl.setCertId(certId); + crl=pxyObjKeyringDao.getPxyObjTrustedCaCrl(crl); + if(crl != null ){ + crlFIle=crl.getCrlFile(); + } + } + + } catch (Exception e) { + e.printStackTrace(); + } + return crlFIle; + } } diff --git a/src/main/java/com/nis/util/Constants.java b/src/main/java/com/nis/util/Constants.java index 4afcb70d0..80fadc82d 100644 --- a/src/main/java/com/nis/util/Constants.java +++ b/src/main/java/com/nis/util/Constants.java @@ -442,6 +442,7 @@ public final class Constants { public static final String NTC_MMFACE_RECOGNIZATION_LOG = Configurations.getStringProperty("mmFaceRecognizationLog", ""); public static final String NTC_MMSAMPLEVOIP_LOG = Configurations.getStringProperty("mmSampleVoipLog", ""); public static final String PXY_HTTP_LOG = Configurations.getStringProperty("pxyHttpLog", ""); + public static final String NTC_COLLECT_VOIP_LOG = Configurations.getStringProperty("ntcCollectVoipLog", ""); //报表类型,1- 配置命中总量业务 public static final Integer BUSINESSTYPE_CONFIG=Configurations.getIntProperty("businesstype_config", 1); diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index b1867f3cb..b9454dd51 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -831,7 +831,7 @@ public class BaseController { if (entry.getCfgId() != null) { params.put("searchCfgId", entry.getCfgId()); } - if (entry.getOrderBy() != null&&entry.getOrderBy()!="") { + if (StringUtils.isNotBlank(entry.getOrderBy())) { params.put("orderBy", entry.getOrderBy()); } } diff --git a/src/main/java/com/nis/web/controller/SystemController.java b/src/main/java/com/nis/web/controller/SystemController.java index e13557614..a9c46db59 100644 --- a/src/main/java/com/nis/web/controller/SystemController.java +++ b/src/main/java/com/nis/web/controller/SystemController.java @@ -1,11 +1,20 @@ package com.nis.web.controller; +import java.util.ArrayList; +import java.util.List; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; +import com.nis.domain.SysMenu; +import com.nis.util.StringUtil; +import com.nis.web.security.UserUtils; + +@Controller @RequestMapping("${adminPath}/sys/") public class SystemController extends BaseController{ @@ -14,7 +23,76 @@ public class SystemController extends BaseController{ return "/sys/sysIndex"; } - + @RequestMapping("help") + public String help(HttpServletRequest request, HttpServletResponse response,ModelMap model){ + List menuList = UserUtils.getMenuList(); + List newList = new ArrayList(); + for(SysMenu menu:menuList){ + if(menu.getIsTop()==1 && !StringUtil.isEmpty(menu.getChildren())){ + boolean topShow = false; + for(SysMenu second:menu.getChildren()){ + boolean secondShow = false; + if(!StringUtil.isEmpty(second.getChildren())&&second.getIsShow()==1){ + for(SysMenu third:second.getChildren()){ + boolean thirdShow = false; + if(!StringUtil.isEmpty(third.getChildren())&&third.getIsShow()==1){ + for(SysMenu fourth:third.getChildren()){ + if(!StringUtil.isEmpty(fourth.getMenuBg())&&fourth.getIsShow()==1){ + newList.add(fourth); + thirdShow = true; + secondShow = true; + } + } + }else{ + if(!StringUtil.isEmpty(third.getMenuBg())&&third.getIsShow()==1){ + thirdShow = true; + secondShow = true; + } + } + if(thirdShow){ + newList.add(third); + } + } + + if(secondShow){ + newList.add(second); + topShow = true; + } + + }else{ + if(!StringUtil.isEmpty(second.getMenuBg())&&second.getIsShow()==1){ + topShow = true; + } + } + } + if(topShow){ + newList.add(menu); + } + + } + + /*if(menu.getChildren()!=null && menu.getChildren().size()>0 && menu.getIsShow()==1){ + newList.add(menu); + }else if(menu.getMenuBg()!=null && !"".equals(menu.getMenuBg())){ + newList.add(menu); + }else if(menu.getId()==1){ + newList.add(menu); + }*/ + + /*if((menu.getParentIds().startsWith("0,1,86,") + || menu.getId()==86 + ||menu.getId()==0 + ||menu.getId()==1) + && menu.getIsShow()==1 + ){ + System.out.println(menu.getParentIds()); + newList.add(menu); + }*/ + + } + model.addAttribute("menuList",newList); + return "/help"; + } } diff --git a/src/main/java/com/nis/web/controller/basics/AsnIpController.java b/src/main/java/com/nis/web/controller/basics/AsnIpController.java index 3392e6db0..42dec5ee5 100644 --- a/src/main/java/com/nis/web/controller/basics/AsnIpController.java +++ b/src/main/java/com/nis/web/controller/basics/AsnIpController.java @@ -163,13 +163,8 @@ public class AsnIpController extends BaseController{ //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = asnIpCfgService.findPage(pageInfo, entity); for (AsnIpCfg asnIp : page.getList()) { asnIp.setIsIssued(String.valueOf(asnIp.getIsValid())); diff --git a/src/main/java/com/nis/web/controller/configuration/AppCfgController.java b/src/main/java/com/nis/web/controller/configuration/AppCfgController.java index 3c172e48c..8c410ad42 100644 --- a/src/main/java/com/nis/web/controller/configuration/AppCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/AppCfgController.java @@ -1279,15 +1279,15 @@ public class AppCfgController extends BaseController { public String updateAppTopicDomainCfgValid(Integer isValid,String ids,Integer functionId,RedirectAttributes redirectAttributes) { try { appCfgService.updateAppTopicDomainCfgValid(isValid,ids,functionId); - addMessage(redirectAttributes,"delete_success"); + addMessage(redirectAttributes,"success","delete_success"); } catch (Exception e) { logger.error("app主题网站删除失败",e); if(e instanceof MaatConvertException||e instanceof CallExternalProceduresException) { e.printStackTrace(); - addMessage(redirectAttributes,"request_service_failed"); + addMessage(redirectAttributes,"error","request_service_failed"); }else { e.printStackTrace(); - addMessage(redirectAttributes,"delete_failed"); + addMessage(redirectAttributes,"error","delete_failed"); } } return "redirect:" + adminPath +"/app/topicDomainCfgList?functionId="+functionId; @@ -1360,7 +1360,7 @@ public class AppCfgController extends BaseController { if(e instanceof MaatConvertException) { addMessage(redirectAttributes,"error","request_service_failed"); }else { - addMessage(redirectAttributes,"save_failed"); + addMessage(redirectAttributes,"error","save_failed"); } } @@ -1427,7 +1427,7 @@ public class AppCfgController extends BaseController { //ip配置导出 @RequestMapping(value = "exportIpAddr") - public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportIpAddr(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")AppPolicyCfg entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -1445,13 +1445,8 @@ public class AppCfgController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = appCfgService.findAppPolicyList(pageInfo, entity); for(AppPolicyCfg policy:page.getList()){ SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); @@ -1515,14 +1510,14 @@ public class AppCfgController extends BaseController { this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("ip addr export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } //top @RequestMapping(value = "exportTop") - public void exporttop(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportTop(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")AppTopicDomainCfg entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -1540,13 +1535,8 @@ public class AppCfgController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = appCfgService.findAppTopicDomainList(pageInfo, entity); for (int i = 0; i < page.getList().size(); i++) { AppTopicDomainCfg appTop=page.getList().get(i); @@ -1555,21 +1545,21 @@ public class AppCfgController extends BaseController { } titleList.add(entity.getMenuNameCode()); classMap.put(entity.getMenuNameCode(), AppTopicDomainCfg.class); - String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,action,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,block_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); dataMap.put(entity.getMenuNameCode(), page.getList()); /*}*/ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("top export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } //appIp配置导出 @RequestMapping(value = "exportAppIp") - public void exportAppip(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportAppIp(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")AppIpCfg entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -1589,13 +1579,8 @@ public class AppCfgController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = appCfgService.findAppIpList(pageInfo, entity); for(AppIpCfg appIp:page.getList()){ SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(appIp.getSpecServiceId()); @@ -1603,14 +1588,14 @@ public class AppCfgController extends BaseController { } titleList.add(entity.getMenuNameCode()); classMap.put(entity.getMenuNameCode(), AppIpCfg.class); - String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,action,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); dataMap.put(entity.getMenuNameCode(), page.getList()); /*}*/ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("appIp export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } @@ -1637,13 +1622,8 @@ public class AppCfgController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = appCfgService.findAppHttpList(pageInfo, entity); for(AppHttpCfg http:page.getList()){ http.setIsHex(http.getIsHexbin()); @@ -1655,14 +1635,14 @@ public class AppCfgController extends BaseController { titleList.add(entity.getMenuNameCode()); classMap.put(entity.getMenuNameCode(), AppHttpCfg.class); - String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,action,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); dataMap.put(entity.getMenuNameCode(), page.getList()); /*}*/ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("http export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } @@ -1689,13 +1669,8 @@ public class AppCfgController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = appCfgService.findAppDomainList(pageInfo, entity); for(AppDomainCfg domain:page.getList()){ domain.setIsHex(domain.getIsHexbin()); @@ -1706,14 +1681,14 @@ public class AppCfgController extends BaseController { titleList.add(entity.getMenuNameCode()); classMap.put(entity.getMenuNameCode(), AppDomainCfg.class); - String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,action,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); dataMap.put(entity.getMenuNameCode(), page.getList()); /*}*/ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { - logger.error("http export failed",e); - addMessage(redirectAttributes, "export_failed"); + logger.error("Domain export failed",e); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } @@ -1740,13 +1715,8 @@ public class AppCfgController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = appCfgService.findAppSslList(pageInfo, entity); for(AppSslCertCfg ssl:page.getList()){ ssl.setIsHex(ssl.getIsHexbin()); @@ -1757,14 +1727,14 @@ public class AppCfgController extends BaseController { } titleList.add(entity.getMenuNameCode()); classMap.put(entity.getMenuNameCode(), AppSslCertCfg.class); - String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,action,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); dataMap.put(entity.getMenuNameCode(), page.getList()); /*}*/ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("App ssl export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } diff --git a/src/main/java/com/nis/web/controller/configuration/AppFeatureCfgController.java b/src/main/java/com/nis/web/controller/configuration/AppFeatureCfgController.java index 8250de8e6..dffcc740a 100644 --- a/src/main/java/com/nis/web/controller/configuration/AppFeatureCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/AppFeatureCfgController.java @@ -260,7 +260,7 @@ public class AppFeatureCfgController extends BaseController { //appfeature配置导出 @RequestMapping(value = "exportFeature") - public void exportAppSsl(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportFeature(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")AppFeatureIndex entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -280,24 +280,19 @@ public class AppFeatureCfgController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = appMultiFeatureCfgService.findAppFeatureIndexList(pageInfo, entity); for(AppFeatureIndex feature:page.getList()){ SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(feature.getSpecServiceId()); feature.setAppName(app.getSpecServiceName()); } - String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,action,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String appComplexNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String appComplexNoExport=",do_log,block_type,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" +",letter,whether_area_block,classification,attribute,label" +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + String ipPortInfoNoExport=",do_log,block_type,config_describe,valid_identifier,is_audit,creator,creator" + ",config_time,editor,edit_time,auditor,audit_time" +",letter,whether_area_block,classification,attribute,label" +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; @@ -306,52 +301,59 @@ public class AppFeatureCfgController extends BaseController { noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); List ipList=new ArrayList(); List keywordList=new ArrayList(); + List strList=new ArrayList(); for (AppFeatureIndex cfg : page.getList()) { Map maps=appMultiFeatureCfgService.exportFeature(cfg); - keywordList.addAll(maps.get("APP_KEYWORDS")); + if(entity.getFunctionId()!=567){ + keywordList.addAll(maps.get("APP_KEYWORDS")); + }else{ + strList.addAll(maps.get("APP_DK_GL")); + } ipList.addAll(maps.get("APP_IP_RANGE")); } - keywordList=replaceKeyList(keywordList); dataMap.put(entity.getMenuNameCode(), page.getList()); if(entity.getFunctionId()!=564 && entity.getFunctionId()!=567 ){ + keywordList=replaceKeyList(keywordList); titleList.add("APP_IP_RANGE"); classMap.put("APP_IP_RANGE", IpPortCfg.class); noExportMap.put("APP_IP_RANGE",ipPortInfoNoExport); dataMap.put("APP_IP_RANGE", ipList); - if(entity.getFunctionId()==563){ + } + if(entity.getFunctionId()==563){ titleList.add("APP_PAYLOAD"); classMap.put("APP_PAYLOAD", AppComplexFeatureCfg.class); noExportMap.put("APP_PAYLOAD",appComplexNoExport); dataMap.put("APP_PAYLOAD", keywordList); - }else if(entity.getFunctionId()==565){ + }else if(entity.getFunctionId()==565){ titleList.add("APP_HTTP"); classMap.put("APP_HTTP", AppComplexFeatureCfg.class); noExportMap.put("APP_HTTP",appComplexNoExport); dataMap.put("APP_HTTP", keywordList); - }else if(entity.getFunctionId()==566){ + }else if(entity.getFunctionId()==566){ titleList.add("APP_SSL"); classMap.put("APP_SSL", AppComplexFeatureCfg.class); noExportMap.put("APP_SSL",appComplexNoExport); dataMap.put("APP_SSL", keywordList); - }else if(entity.getFunctionId()==564){ + }else if(entity.getFunctionId()==564){ + keywordList=replaceKeyList(keywordList); titleList.add("APP_DNS"); classMap.put("APP_DNS", AppComplexFeatureCfg.class); noExportMap.put("APP_DNS",appComplexNoExport); dataMap.put("APP_DNS", keywordList); - }else if(entity.getFunctionId()==567){ + }else if(entity.getFunctionId()==567){ + strList=replaceFeatureList(strList); appComplexNoExport=appComplexNoExport+"district,"; - titleList.add("APP_DK_GL"); - classMap.put("APP_DK_GL", AppComplexFeatureCfg.class); - noExportMap.put("APP_DK_GL",appComplexNoExport); - dataMap.put("APP_DK_GL", keywordList); - } + titleList.add("APP_DK"); + classMap.put("APP_DK", AppStringFeatureCfg.class); + noExportMap.put("APP_DK",appComplexNoExport); + dataMap.put("APP_DK", strList); } /*}*/ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("Appfeature export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } @@ -366,4 +368,15 @@ public class AppFeatureCfgController extends BaseController { return list; } + public static List replaceFeatureList(List list){ + for (int i = 0; i < list.size(); i++) { + AppStringFeatureCfg base=(AppStringFeatureCfg)list.get(i); + base.setIsHex(base.getIsHexbin()); + base.setIsCaseInsenstive(base.getIsHexbin()); + base.setCfgKeywords(Functions.replace(base.getCfgKeywords(), "***and***"," ")); + } + return list; + } + + } diff --git a/src/main/java/com/nis/web/controller/configuration/BasicProtocolController.java b/src/main/java/com/nis/web/controller/configuration/BasicProtocolController.java index 9286700d4..115661813 100644 --- a/src/main/java/com/nis/web/controller/configuration/BasicProtocolController.java +++ b/src/main/java/com/nis/web/controller/configuration/BasicProtocolController.java @@ -201,7 +201,7 @@ public class BasicProtocolController extends BaseController { public String updateAppPolicyCfgValid(Integer isValid,String ids,Integer functionId,RedirectAttributes redirectAttributes) { try { appCfgService.updateAppPolicyCfgValid(isValid,ids,functionId); - addMessage(redirectAttributes,"delete_success"); + addMessage(redirectAttributes,"success","delete_success"); } catch (Exception e) { logger.error("基础协议信息保存失败",e); if(e instanceof MaatConvertException||e instanceof CallExternalProceduresException) { @@ -217,7 +217,7 @@ public class BasicProtocolController extends BaseController { //ip配置导出 @RequestMapping(value = "exportIpAddr") - public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportIpAddr(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")AppPolicyCfg entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -235,13 +235,8 @@ public class BasicProtocolController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = appCfgService.findAppPolicyList(pageInfo, entity); for(AppPolicyCfg policy:page.getList()){ SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); @@ -284,7 +279,7 @@ public class BasicProtocolController extends BaseController { this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("ip addr export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } diff --git a/src/main/java/com/nis/web/controller/configuration/EncryptedTunnelBehaviorController.java b/src/main/java/com/nis/web/controller/configuration/EncryptedTunnelBehaviorController.java index 832c43f86..5d23516b8 100644 --- a/src/main/java/com/nis/web/controller/configuration/EncryptedTunnelBehaviorController.java +++ b/src/main/java/com/nis/web/controller/configuration/EncryptedTunnelBehaviorController.java @@ -234,7 +234,7 @@ public class EncryptedTunnelBehaviorController extends BaseController { //ip配置导出 @RequestMapping(value = "exportIpAddr") - public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportIpAddr(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")AppPolicyCfg entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -252,13 +252,8 @@ public class EncryptedTunnelBehaviorController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = appCfgService.findAppPolicyList(pageInfo, entity); for(AppPolicyCfg policy:page.getList()){ SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); @@ -322,7 +317,7 @@ public class EncryptedTunnelBehaviorController extends BaseController { this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("TunnelBehavior export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } diff --git a/src/main/java/com/nis/web/controller/configuration/GroupAreaController.java b/src/main/java/com/nis/web/controller/configuration/GroupAreaController.java index 18138a9a7..c108268e0 100644 --- a/src/main/java/com/nis/web/controller/configuration/GroupAreaController.java +++ b/src/main/java/com/nis/web/controller/configuration/GroupAreaController.java @@ -84,10 +84,10 @@ public class GroupAreaController extends BaseController { public String delete(RedirectAttributes redirectAttributes, String ids,int isValid) { try { groupAreaService.deldete(ids,isValid); - addMessage(redirectAttributes, "delete_success"); + addMessage(redirectAttributes,"success","delete_success"); } catch (Exception e) { logger.error("删除失败",e); - addMessage(redirectAttributes, "delete_failed"); + addMessage(redirectAttributes,"error","delete_failed"); } return "redirect:" + adminPath + "/cfg/groupArea/groupAreaList"; } diff --git a/src/main/java/com/nis/web/controller/configuration/RequestInfoController.java b/src/main/java/com/nis/web/controller/configuration/RequestInfoController.java index f10796bf2..e72a8941e 100644 --- a/src/main/java/com/nis/web/controller/configuration/RequestInfoController.java +++ b/src/main/java/com/nis/web/controller/configuration/RequestInfoController.java @@ -63,22 +63,22 @@ public class RequestInfoController extends BaseController{ // 保存用户信息 logger.info(requestInfo.getId()+"修改成功"); requestInfoService.saveOrUpdate(requestInfo); - addMessage(redirectAttributes, "save_success"); + addMessage(redirectAttributes,"success","save_success"); }else{ if (!"true".equals(checkRequestNumber(requestInfo.getRequestNumber()))){ logger.info(requestInfo.getRequestNumber()+"重复数据"); - addMessage(model, "save_failed"); + addMessage(model,"error","save_failed"); return form(requestInfo, model); } // 保存用户信息 requestInfoService.saveOrUpdate(requestInfo); - addMessage(redirectAttributes, "save_success"); + addMessage(redirectAttributes,"success","save_success"); logger.info(requestInfo.getId()+"保存成功"); } } catch (Exception e) { logger.error(e.getMessage()); e.printStackTrace(); - addMessage(model, "save_failed"); + addMessage(model,"error","save_failed"); } return "redirect:" + adminPath + "/cfg/request/list?repage"; } @@ -105,7 +105,7 @@ public class RequestInfoController extends BaseController{ public String requestExamine(String ids, Model model,RedirectAttributes redirectAttributes){ String[] exId = ids.split(","); requestInfoService.requestExamine(exId); - addMessage(redirectAttributes, "save_success"); + addMessage(redirectAttributes,"success","save_success"); return "redirect:" + adminPath + "/cfg/request/list?repage"; } @@ -119,7 +119,7 @@ public class RequestInfoController extends BaseController{ public String requestExamineNo(String ids, Model model,RedirectAttributes redirectAttributes){ String[] noId = ids.split(","); requestInfoService.requestExamineNo(noId); - addMessage(redirectAttributes, "save_success"); + addMessage(redirectAttributes,"success","save_success"); return "redirect:" + adminPath + "/cfg/request/list?repage"; } @@ -133,7 +133,7 @@ public class RequestInfoController extends BaseController{ public String requestCancelExamine(String ids, Model model,RedirectAttributes redirectAttributes){ String[] canclelId = ids.split(","); requestInfoService.requestCancelExamine(canclelId); - addMessage(redirectAttributes, "save_success"); + addMessage(redirectAttributes,"success","save_success"); return "redirect:" + adminPath + "/cfg/request/list?repage"; } @@ -147,7 +147,7 @@ public class RequestInfoController extends BaseController{ public String delete(String ids, Model model,RedirectAttributes redirectAttributes){ String[] delId = ids.split(","); requestInfoService.delete(delId); - addMessage(redirectAttributes, "delete_success"); + addMessage(redirectAttributes,"success","delete_success"); return "redirect:" + adminPath + "/cfg/request/list?repage"; } diff --git a/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java b/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java index ef23f1d93..01d8f9502 100644 --- a/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java @@ -147,13 +147,8 @@ public class DnsIpCfgController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = dnsIpCfgService.findPage(pageInfo, entity); for (int i = 0; i < page.getList().size(); i++) { if(StringUtil.isEmpty(page.getList().get(i).getDnsStrategyName())){ diff --git a/src/main/java/com/nis/web/controller/configuration/maintenance/DnsResStrategyController.java b/src/main/java/com/nis/web/controller/configuration/maintenance/DnsResStrategyController.java index 1f553dcce..a2a22e7b6 100644 --- a/src/main/java/com/nis/web/controller/configuration/maintenance/DnsResStrategyController.java +++ b/src/main/java/com/nis/web/controller/configuration/maintenance/DnsResStrategyController.java @@ -169,13 +169,8 @@ public class DnsResStrategyController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = dnsResStrategyService.findPage(pageInfo, entity); for (int i = 0; i < page.getList().size(); i++) { page.getList().get(i).setMiTtlmax(String.valueOf(page.getList().get(i).getMinTtl())+"-"+String.valueOf(page.getList().get(i).getMaxTtl())); diff --git a/src/main/java/com/nis/web/controller/configuration/maintenance/IpMultiplexPoolCfgController.java b/src/main/java/com/nis/web/controller/configuration/maintenance/IpMultiplexPoolCfgController.java index e9f07744e..31d3269f3 100644 --- a/src/main/java/com/nis/web/controller/configuration/maintenance/IpMultiplexPoolCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/maintenance/IpMultiplexPoolCfgController.java @@ -208,7 +208,7 @@ public class IpMultiplexPoolCfgController extends BaseController { for(String id :idArray){ try { ipMultiplexPoolCfgService.audit(isAudit,isValid,functionId,id,auditTime); - } catch (MaatConvertException e) { + } catch (Exception e) { e.printStackTrace(); logger.error("SNAT地址池管理配置下发失败:"+e.getMessage()); if(e instanceof MaatConvertException) { @@ -230,10 +230,10 @@ public class IpMultiplexPoolCfgController extends BaseController { if(!StringUtil.isEmpty(ids)){ ipMultiplexPoolCfgService.delete(isAudit,isValid,ids,functionId); } - addMessage(redirectAttributes,"delete_success"); + addMessage(redirectAttributes,"success","delete_success"); }catch(Exception e){ logger.error(e); - addMessage(redirectAttributes,"delete_failed"); + addMessage(redirectAttributes,"error","delete_failed"); } return "redirect:" + adminPath +"/maintenance/ipMultiplexPoolCfg/snatlist?functionId="+functionId; } @@ -285,13 +285,8 @@ public class IpMultiplexPoolCfgController extends BaseController { }else{*/ //条件导出数据大于最大导出数,只导出最大导出条数 Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = ipMultiplexPoolCfgService.findPage(pageInfo, entity); page.setList(ipMultiplexPoolCfgService.getIsp(page.getList())); titleList.add(entity.getMenuNameCode()); @@ -303,7 +298,7 @@ public class IpMultiplexPoolCfgController extends BaseController { this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("snat export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } @@ -329,13 +324,8 @@ public class IpMultiplexPoolCfgController extends BaseController { }else{*/ //条件导出数据大于最大导出数,只导出最大导出条数 Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = ipMultiplexPoolCfgService.findPage(pageInfo, entity); titleList.add(entity.getMenuNameCode()); classMap.put(entity.getMenuNameCode(), IpMultiplexPoolCfg.class); @@ -346,7 +336,7 @@ public class IpMultiplexPoolCfgController extends BaseController { this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("dnat export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } diff --git a/src/main/java/com/nis/web/controller/configuration/manipulation/DdosCfgController.java b/src/main/java/com/nis/web/controller/configuration/manipulation/DdosCfgController.java index 14812314e..53f192ae4 100644 --- a/src/main/java/com/nis/web/controller/configuration/manipulation/DdosCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/manipulation/DdosCfgController.java @@ -129,24 +129,19 @@ public class DdosCfgController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = ddosCfgService.findPage(pageInfo, entity); titleList.add(entity.getMenuNameCode()); classMap.put(entity.getMenuNameCode(), DdosIpCfg.class); - String cfgIndexInfoNoExport=",client_ip,client_port,server_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String cfgIndexInfoNoExport=",client_ip,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); dataMap.put(entity.getMenuNameCode(), page.getList()); /*}*/ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("ddos export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } diff --git a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java index 75ea61b6e..579abca55 100644 --- a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java +++ b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java @@ -223,13 +223,8 @@ public class IpMultiplexController extends CommonController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = ipCfgService.findPage(pageInfo, entity);// for (BaseIpCfg baseIp : page.getList()) { if(StringUtil.isEmpty(baseIp.getGroupName())){ @@ -246,7 +241,7 @@ public class IpMultiplexController extends CommonController { this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("snat export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } @@ -274,13 +269,8 @@ public class IpMultiplexController extends CommonController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = ipCfgService.findPage(pageInfo, entity);// for (BaseIpCfg baseIp : page.getList()) { if(StringUtil.isEmpty(baseIp.getGroupName())){ @@ -297,7 +287,7 @@ public class IpMultiplexController extends CommonController { this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("dnat export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java b/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java index 4246a2a05..a15119add 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java @@ -209,7 +209,7 @@ public class AvContentController extends BaseController { for(String id :idArray){ try { avContentCfgService.auditAvVoip(isAudit,isValid,functionId,id,auditTime); - } catch (MaatConvertException e) { + } catch ( Exception e) { if(e instanceof MaatConvertException) { e.printStackTrace(); logger.error("VOIP配置下发失败:"+e.getMessage());; @@ -563,7 +563,7 @@ public class AvContentController extends BaseController { ,HttpServletResponse response ,@ModelAttribute("cfg")CfgIndexInfo entity ,RedirectAttributes redirectAttributes){ - if(entity.getIpPort()== null){ + /*if(entity.getIpPort()== null){ entity.setIpPort(new IpPortCfg()); } if(entity.getAvContUrlCfgList()== null){ @@ -571,7 +571,7 @@ public class AvContentController extends BaseController { } if(entity.getNtcSubscribeIdCfg()==null){ entity.setNtcSubscribeIdCfg(new NtcSubscribeIdCfg()); - } + }*/ Page page = avContentCfgService.findPage(new Page(request, response,"r"), entity); model.addAttribute("page", page); initPageCondition(model,entity); @@ -616,11 +616,11 @@ public class AvContentController extends BaseController { if(e instanceof MaatConvertException) { e.printStackTrace(); logger.error("Stream Media 信息保存失败",e); - addMessage(redirectAttributes,"request_service_failed"); + addMessage(redirectAttributes,"error","request_service_failed"); }else { e.printStackTrace(); logger.error("Stream Media 信息保存失败",e); - addMessage(redirectAttributes,"save_failed"); + addMessage(redirectAttributes,"error","save_failed"); } } return "redirect:" + adminPath +"/ntc/av/contUrlList?functionId="+cfg.getFunctionId(); @@ -902,7 +902,7 @@ public class AvContentController extends BaseController { //stream配置导出 @RequestMapping(value = "exportStream") - public void exportsteam(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportStream(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -922,13 +922,8 @@ public class AvContentController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); if(entity.getIpPort()== null){ entity.setIpPort(new IpPortCfg()); } @@ -992,7 +987,7 @@ public class AvContentController extends BaseController { //voip配置导出 @RequestMapping(value = "exportVoip") - public void exportvoip(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportVoip(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -1012,13 +1007,8 @@ public class AvContentController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); if(entity.getIpPort()== null){ entity.setIpPort(new IpPortCfg()); } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java b/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java index 294fa1a23..beac38fef 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java @@ -469,7 +469,7 @@ public class AvController extends BaseController { //ysp配置导出 @RequestMapping(value = "exportYsp") - public void exportysp(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportYsp(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")AvFileSampleCfg entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -489,13 +489,8 @@ public class AvController extends BaseController { //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = avCfgService.getAvFileSampleList(pageInfo, entity); titleList.add(entity.getMenuNameCode()); classMap.put(entity.getMenuNameCode(), AvFileSampleCfg.class); diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java index 560ca1d91..c06815d58 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java @@ -157,7 +157,7 @@ public class BgpCfgController extends BaseController{ //bgp配置导出 @RequestMapping(value = "exportbgp") - public void exportdns(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportbgp(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -177,13 +177,8 @@ public class BgpCfgController extends BaseController{ //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = bgpCfgService.getBgpList(pageInfo, entity); titleList.add(entity.getMenuNameCode()); titleList.add("NTC_IP"); @@ -229,7 +224,7 @@ public class BgpCfgController extends BaseController{ /*}*/ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { - logger.error("dns export failed",e); + logger.error("bgp export failed",e); addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java index 0e8d2040b..bfb4c882e 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java @@ -85,11 +85,11 @@ public class FileTransferCfgController extends BaseController{ if(e instanceof MaatConvertException) { e.printStackTrace(); logger.error("ftp信息保存失败",e); - addMessage(redirectAttributes,"request_service_failed"); + addMessage(redirectAttributes,"error","request_service_failed"); }else { e.printStackTrace(); logger.error("ftp信息保存失败",e); - addMessage(redirectAttributes,"save_failed"); + addMessage(redirectAttributes,"error","save_failed"); } } return "redirect:" + adminPath +"/ntc/fileTransfer/ftpList?functionId="+entity.getFunctionId(); @@ -148,11 +148,11 @@ public class FileTransferCfgController extends BaseController{ if(e instanceof MaatConvertException) { e.printStackTrace(); logger.info("ftp配置删除失败:"+e.getMessage());; - addMessage(redirectAttributes,"request_service_failed"); + addMessage(redirectAttributes,"error","request_service_failed"); }else { e.printStackTrace(); logger.error("ftp配置删除失败",e); - addMessage(redirectAttributes,"delete_failed"); + addMessage(redirectAttributes,"error","delete_failed"); } } return "redirect:" + adminPath +"/ntc/fileTransfer/ftpList?functionId="+functionId; @@ -171,16 +171,16 @@ public class FileTransferCfgController extends BaseController{ entity.setFunctionId(functionId); try { fileTransferCfgService.auditFtpCfg(entity,isAudit); - addMessage(redirectAttributes,"audit_success"); - } catch (MaatConvertException e) { + addMessage(redirectAttributes,"success","audit_success"); + } catch ( Exception e) { if(e instanceof MaatConvertException) { e.printStackTrace(); logger.error("ftp配置下发失败:"+e.getMessage());; - addMessage(redirectAttributes,"request_service_failed"); + addMessage(redirectAttributes,"error","request_service_failed"); }else { e.printStackTrace(); logger.error("ftp配置下发失败",e); - addMessage(redirectAttributes,"audit_failed"); + addMessage(redirectAttributes,"error","audit_failed"); } } } @@ -256,8 +256,6 @@ public class FileTransferCfgController extends BaseController{ } fileTransferCfgService.saveOrUpdateFileDigestCfg(entity,result,areaCfgIds); addMessage(redirectAttributes,"success","save_success"); - } catch (MaatConvertException e) { - addMessage(redirectAttributes, "request_service_failed"); } catch ( Exception e) { if(e instanceof MaatConvertException||e instanceof CallExternalProceduresException) { addMessage(redirectAttributes,"error","request_service_failed"); @@ -478,7 +476,7 @@ public class FileTransferCfgController extends BaseController{ //ftp配置导出 @RequestMapping(value = "exportftp") - public void exportdns(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportftp(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -498,13 +496,8 @@ public class FileTransferCfgController extends BaseController{ //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = fileTransferCfgService.getFtpList(pageInfo, entity); titleList.add(entity.getMenuNameCode()); titleList.add("NTC_UNIVERSAL_IP"); @@ -559,14 +552,14 @@ public class FileTransferCfgController extends BaseController{ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("ftp export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } //p2p配置导出 @RequestMapping(value = "exportP2p") - public void exportp2p(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportP2p(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -586,13 +579,8 @@ public class FileTransferCfgController extends BaseController{ //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = fileTransferCfgService.getP2pList(pageInfo, entity); titleList.add(entity.getMenuNameCode()); @@ -652,7 +640,7 @@ public class FileTransferCfgController extends BaseController{ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("p2p export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } @@ -660,7 +648,7 @@ public class FileTransferCfgController extends BaseController{ //file配置导出 @RequestMapping(value = "exportFile") - public void exportfile(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportFile(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")FileDigestCfg entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -680,13 +668,8 @@ public class FileTransferCfgController extends BaseController{ //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = fileTransferCfgService.getFileDigestList(pageInfo, entity); titleList.add(entity.getMenuNameCode()); classMap.put(entity.getMenuNameCode(), FileDigestCfg.class); @@ -697,7 +680,7 @@ public class FileTransferCfgController extends BaseController{ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("file export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java b/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java index c19845cb3..6bdf47795 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java @@ -360,7 +360,7 @@ public class IpController extends BaseController{ } //ip配置导出 @RequestMapping(value = "exportIpAddr") - public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportIpAddr(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -380,13 +380,8 @@ public class IpController extends BaseController{ //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = ipCfgService.getIpCfgList(pageInfo, entity); titleList.add(entity.getMenuNameCode()); titleList.add("NTC_IP"); diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/MailCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/MailCfgController.java index 486e46bb8..0028fdf88 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/MailCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/MailCfgController.java @@ -190,7 +190,7 @@ public class MailCfgController extends BaseController{ //mail配置导出 @RequestMapping(value = "exportmail") - public void exportdns(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportmail(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -210,13 +210,8 @@ public class MailCfgController extends BaseController{ //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = mailCfgService.getMailList(pageInfo, entity); titleList.add(entity.getMenuNameCode()); String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; @@ -281,7 +276,7 @@ public class MailCfgController extends BaseController{ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("mail export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java b/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java index 41ac544d5..2564380c5 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java @@ -557,13 +557,8 @@ public class WebsiteController extends BaseController{ }else{*/ //条件导出数据大于最大导出数,只导出最大导出条数 Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = httpRedirectCfgService.getHttpRedirectList(pageInfo, entity); String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; String httpUrlCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" @@ -685,13 +680,8 @@ public class WebsiteController extends BaseController{ //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = websiteCfgService.getWebsiteList(pageInfo, entity); for (int i = 0; i < page.getList().size(); i++) { Properties msgProp = getMsgProp(); @@ -763,7 +753,7 @@ public class WebsiteController extends BaseController{ //ssl配置导出 @RequestMapping(value = "exportSsl") - public String exportssl(Model model,HttpServletRequest request,HttpServletResponse response, + public String exportSsl(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -783,13 +773,8 @@ public class WebsiteController extends BaseController{ }else{*/ //条件导出数据大于最大导出数,只导出最大导出条数 Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = websiteCfgService.getWebsiteList(pageInfo, entity); titleList.add(entity.getMenuNameCode()); titleList.add("NTC_UNIVERSAL_IP"); diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/WhiteListController.java b/src/main/java/com/nis/web/controller/configuration/ntc/WhiteListController.java index 142d4d677..e6088fd43 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/WhiteListController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/WhiteListController.java @@ -11,15 +11,11 @@ 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; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.Page; @@ -29,7 +25,6 @@ import com.nis.domain.configuration.HttpUrlCfg; import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.NtcSubscribeIdCfg; import com.nis.domain.configuration.template.WhiteListIpTemplate; -import com.nis.domain.specific.ConfigGroupInfo; import com.nis.exceptions.MaatConvertException; import com.nis.util.Constants; import com.nis.util.StringUtil; @@ -278,7 +273,7 @@ public class WhiteListController extends CommonController{ //ip配置导出 @RequestMapping(value = "exportIpAddr") - public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportIpAddr(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -298,13 +293,8 @@ public class WhiteListController extends CommonController{ //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = ipCfgService.getIpCfgList(pageInfo, entity); titleList.add(entity.getMenuNameCode()); titleList.add("NTC_IP"); @@ -354,13 +344,8 @@ public class WhiteListController extends CommonController{ //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = domainService.getDomainList(pageInfo, entity); titleList.add(entity.getMenuNameCode()); titleList.add("NTC_HTTP_URL"); diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java b/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java index b593b0214..914639112 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java @@ -251,7 +251,7 @@ public class HttpRedirectPolicyController extends BaseController{ //http配置导出 @RequestMapping(value = "exportHttp") - public String exportHttp(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportHttp(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -271,13 +271,8 @@ public class HttpRedirectPolicyController extends BaseController{ }else{*/ //条件导出数据大于最大导出数,只导出最大导出条数 Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = httpRedirectCfgService.getHttpRedirectList(pageInfo, entity); Properties prop = getMsgProp(); @@ -313,7 +308,7 @@ public class HttpRedirectPolicyController extends BaseController{ }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-"; + cfgIndexInfoNoExport=",policy_name,group_name,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,"; } @@ -408,8 +403,8 @@ public class HttpRedirectPolicyController extends BaseController{ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("http export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } - return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+entity.getFunctionId(); + /*return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+entity.getFunctionId();*/ } } diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java b/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java index 135f17687..59daec728 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java @@ -147,7 +147,7 @@ public class InterceptController extends CommonController{ entity.setFunctionId(functionId); try { interceptCfgService.auditInterceptIpCfg(entity,isAudit); - addMessage(redirectAttributes,"audit_success"); + addMessage(redirectAttributes,"success","audit_success"); } catch ( Exception e) { logger.error("intercept ip audit failed",e); if(e instanceof MaatConvertException) { @@ -164,10 +164,10 @@ public class InterceptController extends CommonController{ public String updateInterceptIpValid(Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) { try { interceptCfgService.updatInterceptValid(isValid,ids,functionId); - addMessage(redirectAttributes,"delete_success"); + addMessage(redirectAttributes,"error","delete_success"); } catch (Exception e) { logger.error("intercept ip delete failed",e); - addMessage(redirectAttributes,"delete_failed"); + addMessage(redirectAttributes,"error","delete_failed"); } return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+functionId; } @@ -196,7 +196,7 @@ public class InterceptController extends CommonController{ //ip配置导出 @RequestMapping(value = "exportIpAddr") - public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response, + public void exportIpAddr(Model model,HttpServletRequest request,HttpServletResponse response, @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ try { //export data info @@ -217,13 +217,8 @@ public class InterceptController extends CommonController{ //条件导出数据大于最大导出数,只导出最大导出条数 entity.setTableName(IpPortCfg.getTablename()); Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = ipCfgService.getIpCfgList(pageInfo, entity); //获取证书信息 @@ -242,12 +237,21 @@ public class InterceptController extends CommonController{ } if(certificateList!=null){ if(entity.getFunctionId()==200|| entity.getFunctionId()==201){ + if(!StringUtil.isEmpty(str.getUserRegion1())){ + boolean flag=false; for (PxyObjKeyring pxyObjKeyring : certificateList) { - if(str.getUserRegion2().equals(pxyObjKeyring.getCompileId())){ - str.setUserRegion2(pxyObjKeyring.getCfgDesc()); - } + if(str.getUserRegion1().equals(String.valueOf(pxyObjKeyring.getCompileId()))){ + str.setUserRegion1(pxyObjKeyring.getCfgDesc()); + flag=true; + break; + } + } + if(!flag){ + str.setUserRegion1(null); + } } - } + } + } } titleList.add(entity.getMenuNameCode()); @@ -307,7 +311,7 @@ public class InterceptController extends CommonController{ this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("ip addr export failed",e); - addMessage(redirectAttributes, "export_failed"); + addMessage(redirectAttributes,"error","export_failed"); } //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/PxyObjKeyringController.java b/src/main/java/com/nis/web/controller/configuration/proxy/PxyObjKeyringController.java index bd2daaa36..2a77022bc 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/PxyObjKeyringController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/PxyObjKeyringController.java @@ -120,7 +120,11 @@ public class PxyObjKeyringController extends BaseController { } catch (Exception e) { validFlag=false; logger.error("证书文件校验失败",e); - addMessage(redirectAttributes,"error",e.getMessage()); + if(e instanceof MaatConvertException) { + addMessage(redirectAttributes,"error","request_service_failed"); + }else { + addMessage(redirectAttributes,"error","save_failed"); + } } try{ @@ -163,7 +167,11 @@ public class PxyObjKeyringController extends BaseController { }catch (Exception e) { validFlag=false; logger.error("证书信息获取失败",e); - addMessage(redirectAttributes,"error","save_failed"); + if(e instanceof MaatConvertException) { + addMessage(redirectAttributes,"error","request_service_failed"); + }else { + addMessage(redirectAttributes,"error","save_failed"); + } } try{ if(validFlag){ diff --git a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsReportController.java b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsReportController.java index 1d498577f..e66608cec 100644 --- a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsReportController.java +++ b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsReportController.java @@ -86,6 +86,29 @@ public class TrafficStatisticsReportController extends BaseController { List accountList=(List) map.get("accountList"); model.addAttribute("nasIpList", nasIpList); model.addAttribute("accountList", accountList); + if(StringUtil.isBlank(account)&&accountList!=null&&accountList.size()>0&&!"3".equals(searchBusinessType)) { + Map accountMap = (Map) accountList.get(0); + String firstAccount=(String) accountMap.get("account"); + String userString = HttpClientUtil.get(userUrl+"&searchAccount="+firstAccount); + // 指定用户 查询 + Gson usergson = new GsonBuilder().create(); + userJsonList = usergson.fromJson(userString, new TypeToken(){}.getType()); + userList = (ArrayList) userJsonList.get("data"); + model.addAttribute("userList", userList); + model.addAttribute("searchAccount", firstAccount); + } + if(StringUtil.isBlank(nasIp)&&nasIpList!=null&&nasIpList.size()>0&&!"2".equals(searchBusinessType)) { + Map IpMap = (Map) nasIpList.get(0); + String firstIp=(String) IpMap.get("nasIp"); + String ipString = HttpClientUtil.get(ipUrl+"&searchNasIp="+firstIp); + // 指定IP查询 + Gson ipgson = new GsonBuilder().create(); + ipJsonList = ipgson.fromJson(ipString, new TypeToken(){}.getType()); + ipList = (ArrayList) ipJsonList.get("data"); + model.addAttribute("ipList", ipList); + model.addAttribute("searchNasIp", firstIp); + + } if("2".endsWith(searchBusinessType)&&!StringUtil.isBlank(account)) { String userString = HttpClientUtil.get(userUrl+"&searchAccount="+account); @@ -94,6 +117,7 @@ public class TrafficStatisticsReportController extends BaseController { userJsonList = usergson.fromJson(userString, new TypeToken(){}.getType()); userList = (ArrayList) userJsonList.get("data"); model.addAttribute("userList", userList); + model.addAttribute("searchAccount", account); } if ("3".endsWith(searchBusinessType)&&!StringUtil.isBlank(nasIp)) { String ipString = HttpClientUtil.get(ipUrl+"&searchNasIp="+nasIp); @@ -102,13 +126,14 @@ public class TrafficStatisticsReportController extends BaseController { ipJsonList = ipgson.fromJson(ipString, new TypeToken(){}.getType()); ipList = (ArrayList) ipJsonList.get("data"); model.addAttribute("ipList", ipList); + model.addAttribute("searchNasIp", nasIp); } } catch (Exception e) { e.printStackTrace(); } return "/dashboard/trafficUserBehavior"; } - public static void main(String[] args) { +/* public static void main(String[] args) { Map fromJsonList = new HashMap(); HashMap m = new HashMap(); List list = new ArrayList(); @@ -128,5 +153,5 @@ public class TrafficStatisticsReportController extends BaseController { e.printStackTrace(); } } - + */ } diff --git a/src/main/java/com/nis/web/controller/log/manipulation/DkBehaviorLogController.java b/src/main/java/com/nis/web/controller/log/manipulation/DkBehaviorLogController.java index 679ee7821..f352f84d7 100644 --- a/src/main/java/com/nis/web/controller/log/manipulation/DkBehaviorLogController.java +++ b/src/main/java/com/nis/web/controller/log/manipulation/DkBehaviorLogController.java @@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.http.client.ClientProtocolException; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -81,7 +82,8 @@ public class DkBehaviorLogController extends BaseController{ if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"}); + page.setList(fromJson.getData().getList()); List list = page.getList(); for (DkBehaviorLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/AppLogController.java b/src/main/java/com/nis/web/controller/log/ntc/AppLogController.java index 74deaede3..ab55d483c 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/AppLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/AppLogController.java @@ -75,7 +75,7 @@ public class AppLogController extends BaseController{ if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (NtcAppLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/BgpLogController.java b/src/main/java/com/nis/web/controller/log/ntc/BgpLogController.java index b34fbab6e..bb30411e1 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/BgpLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/BgpLogController.java @@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -50,7 +51,7 @@ public class BgpLogController extends BaseController { Gson gson = new GsonBuilder().create(); LogRecvData fromJson = gson.fromJson(recv, new TypeToken>(){}.getType()); if (fromJson.getStatus().intValue() == 200) { - page.setList(fromJson.getData().getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (NtcBGPLog l : list) { l.setFunctionId(log.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/CollectVoipLogController.java b/src/main/java/com/nis/web/controller/log/ntc/CollectVoipLogController.java new file mode 100644 index 000000000..f0086ee83 --- /dev/null +++ b/src/main/java/com/nis/web/controller/log/ntc/CollectVoipLogController.java @@ -0,0 +1,156 @@ +package com.nis.web.controller.log.ntc; + +import java.io.IOException; +import java.util.Calendar; +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; + +import org.apache.commons.lang3.StringUtils; +import org.apache.http.client.ClientProtocolException; +import org.springframework.beans.BeanUtils; +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 com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonParseException; +import com.google.gson.reflect.TypeToken; +import com.nis.domain.FunctionServiceDict; +import com.nis.domain.Page; +import com.nis.domain.PageLog; +import com.nis.domain.log.NtcCollectVoipLog; +import com.nis.domain.maat.LogRecvData; +import com.nis.util.CodeDicUtils; +import com.nis.util.Constants; +import com.nis.util.DateUtils; +import com.nis.util.DictUtils; +import com.nis.util.httpclient.HttpClientUtil; +import com.nis.web.controller.BaseController; +import com.nis.web.dao.dashboard.codedic.CodeResult; + +@Controller +@RequestMapping(value = "${adminPath}/log/ntc/ntcCollectVoipLogs") +public class CollectVoipLogController extends BaseController{ + + /** + * voip泛收日志 + * @param model + * @param entry + * @param request + * @param response + * @return + * @throws ClientProtocolException + * @throws IOException + */ + @RequestMapping(value={"list",""}) + public String list(Model model,@ModelAttribute("log")NtcCollectVoipLog entry,HttpServletRequest request, HttpServletResponse response) throws ClientProtocolException, IOException { + + try { + + PageLog page = new PageLog(request, response); + Map params=new HashMap<>(); + params.put("pageSize", page.getPageSize()); + params.put("pageNo", page.getPageNo()); + //查询值判断 + if (StringUtils.isNotBlank(entry.getSearchFoundStartTime()) + && StringUtils.isNotBlank(entry.getSearchFoundEndTime())) { + params.put("searchFoundStartTime", entry.getSearchFoundStartTime()); + params.put("searchFoundEndTime", entry.getSearchFoundEndTime()); + } else { + // 判断是否是从配置界面过来的日志查询 + if (StringUtils.isNotBlank(entry.getIsLogTotalSearch())) { + Calendar time = Calendar.getInstance(); + time.add(Calendar.MINUTE, -5); + String searchEndTime = DateUtils.formatDateTime(time.getTime()); + params.put("searchFoundEndTime", searchEndTime); + entry.setSearchFoundEndTime(searchEndTime); + + time.add(Calendar.MINUTE, -5); + String searchStartTime = DateUtils.formatDateTime(time.getTime()); + params.put("searchFoundStartTime", searchStartTime); + entry.setSearchFoundStartTime(searchStartTime); + + } else { + // 设置默认查询当前时间及前五分钟 + String endTime = DateUtils.getDateTime(); + Date dateStart = new Date(new Date().getTime() - Constants.LOG_TIME_INTERVAL); + String startTime = DateUtils.formatDateTime(dateStart); + params.put("searchFoundStartTime", startTime); + params.put("searchFoundEndTime", endTime); + entry.setSearchFoundStartTime(startTime); + entry.setSearchFoundEndTime(endTime); + } + logger.info("searchFoundStartTime:" + params.get("searchFoundStartTime")); + logger.info("searchFoundEndTime:" + params.get("searchFoundEndTime")); + } + + if (StringUtils.isNotBlank(entry.getVoipProtocol())) { + params.put("searchVoipProtocol", entry.getVoipProtocol()); + } + if (StringUtils.isNotBlank(entry.getRtpDIp())) { + params.put("searchRtpDIp", entry.getRtpDIp()); + } + if (StringUtils.isNotBlank(entry.getCapIp())) { + params.put("searchRtpSIp", entry.getCapIp()); + } + if (StringUtils.isNotBlank(entry.getSipDIp())) { + params.put("searchSipDIp", entry.getSipDIp()); + } + if (StringUtils.isNotBlank(entry.getSipSIp())) { + params.put("searchSipSIp", entry.getSipSIp()); + } + if (StringUtils.isNotBlank(entry.getOrderBy())) { + params.put("orderBy", entry.getOrderBy()); + } + List serviceList = DictUtils.getFunctionServiceDictList(entry.getFunctionId()); + model.addAttribute("serviceList", serviceList); + + //获取字典信息 + List protocolList=CodeDicUtils.getCodeList("protocolCode"); + List behaviorList=CodeDicUtils.getCodeList("behaviorCode"); + List appList=CodeDicUtils.getCodeList("appCode"); + model.addAttribute("protocolList", protocolList); + model.addAttribute("behaviorList", behaviorList); + model.addAttribute("appList", appList); + + String url = ""; + url = Constants.LOG_BASE_URL+Constants.NTC_COLLECT_VOIP_LOG; + String jsonString = HttpClientUtil.getMsg(url,params,request); + + GsonBuilder builder = new GsonBuilder(); + builder.registerTypeAdapter(Date.class, new JsonDeserializer() { + + public Date deserialize(JsonElement json, java.lang.reflect.Type typeOfT, + JsonDeserializationContext context) throws JsonParseException { + return new Date(json.getAsJsonPrimitive().getAsLong()); + } + }); + Gson gson = builder.setDateFormat("yyyy-MM-dd HH:mm:ss").create(); + //gson泛型支持 + LogRecvData fromJson = gson.fromJson(jsonString, new TypeToken>(){}.getType()); + + if (fromJson.getStatus().intValue() == 200) { + Page data = fromJson.getData(); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"}); + page.setList(fromJson.getData().getList()); + model.addAttribute("page", page); + logger.info("查询VoIP泛收日志成功"); + } + } catch (Exception e) { + logger.error("查询VoIP泛收日志失败", e); + addMessageLog(model, e.getMessage()); + } + return "/log/ntc/collectVoipList"; + } + +} diff --git a/src/main/java/com/nis/web/controller/log/ntc/DdosLogController.java b/src/main/java/com/nis/web/controller/log/ntc/DdosLogController.java index dc1c0f569..87828b411 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/DdosLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/DdosLogController.java @@ -1,7 +1,6 @@ package com.nis.web.controller.log.ntc; import java.io.IOException; -import java.sql.Timestamp; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -11,6 +10,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.http.client.ClientProtocolException; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -23,7 +23,6 @@ import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonParseException; import com.google.gson.reflect.TypeToken; -import com.google.protobuf.DescriptorProtos.FieldDescriptorProto.Type; import com.nis.domain.FunctionServiceDict; import com.nis.domain.Page; import com.nis.domain.PageLog; @@ -33,7 +32,6 @@ import com.nis.util.Constants; import com.nis.util.DictUtils; import com.nis.util.httpclient.HttpClientUtil; import com.nis.web.controller.BaseController; -import com.sun.jna.platform.win32.OaIdl.DATE; @Controller @RequestMapping(value = "${adminPath}/log/ntc/ntcDdosLogs") @@ -87,7 +85,7 @@ public class DdosLogController extends BaseController{ if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (NtcDdosLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/DnsLogController.java b/src/main/java/com/nis/web/controller/log/ntc/DnsLogController.java index d34031f2f..1cd1af1bc 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/DnsLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/DnsLogController.java @@ -56,7 +56,7 @@ public class DnsLogController extends BaseController { LogRecvData fromJson = gson.fromJson(recv, new TypeToken>(){}.getType()); if (fromJson.getStatus().intValue() == 200) { // BeanUtils.copyProperties(fromJson.getData(), page); - page.setList(fromJson.getData().getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (NtcDnsLog l : list) { l.setFunctionId(log.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/FtpLogController.java b/src/main/java/com/nis/web/controller/log/ntc/FtpLogController.java index 6abd9c11f..73212f093 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/FtpLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/FtpLogController.java @@ -68,7 +68,7 @@ public class FtpLogController extends BaseController{ if (fromJson.getStatus().intValue() == 200) { // BeanUtils.copyProperties(fromJson.getData(), page); Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (NtcFtpLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/HttpKeyLogController.java b/src/main/java/com/nis/web/controller/log/ntc/HttpKeyLogController.java index 60220ba40..ff72cbd7a 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/HttpKeyLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/HttpKeyLogController.java @@ -56,7 +56,7 @@ public class HttpKeyLogController extends BaseController { LogRecvData fromJson = gson.fromJson(recv, new TypeToken>(){}.getType()); if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (NtcKeywordsUrlLog l : list) { l.setFunctionId(log.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/HttpLogController.java b/src/main/java/com/nis/web/controller/log/ntc/HttpLogController.java index 7825d1859..2d574d2e8 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/HttpLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/HttpLogController.java @@ -55,7 +55,7 @@ public class HttpLogController extends BaseController { LogRecvData fromJson = gson.fromJson(recv, new TypeToken>(){}.getType()); if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (NtcHttpLog l : list) { l.setFunctionId(log.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/IpLogController.java b/src/main/java/com/nis/web/controller/log/ntc/IpLogController.java index 68822d153..575b9d30e 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/IpLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/IpLogController.java @@ -56,7 +56,7 @@ public class IpLogController extends BaseController { Gson gson = new GsonBuilder().create(); LogRecvData fromJson = gson.fromJson(recv, new TypeToken>(){}.getType()); if (fromJson.getStatus().intValue() == 200) { -// BeanUtils.copyProperties(fromJson.getData(), page); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"}); page.setList(fromJson.getData().getList()); List list = page.getList(); for (NtcIpLog l : list) { diff --git a/src/main/java/com/nis/web/controller/log/ntc/IpsecLogController.java b/src/main/java/com/nis/web/controller/log/ntc/IpsecLogController.java index 04ccf1512..6c73c707e 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/IpsecLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/IpsecLogController.java @@ -67,6 +67,7 @@ public class IpsecLogController extends BaseController{ if (fromJson.getStatus().intValue() == 200) { List list = fromJson.getData().getList(); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"}); page.setList(list); for (NtcIpsecLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/L2tpLogController.java b/src/main/java/com/nis/web/controller/log/ntc/L2tpLogController.java index d93356c1a..a50836790 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/L2tpLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/L2tpLogController.java @@ -53,7 +53,7 @@ public class L2tpLogController extends BaseController { LogRecvData fromJson = gson.fromJson(resJson, new TypeToken>() {}.getType()); if(fromJson.getStatus().intValue() == 200) { Page fromPage = fromJson.getData(); - page.setList(fromPage.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = fromPage.getList(); for (NtcL2tpLog log : list) { log.setFunctionId(ntcL2tpLog.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MailLogController.java b/src/main/java/com/nis/web/controller/log/ntc/MailLogController.java index 9d46ead43..a2795e549 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MailLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MailLogController.java @@ -51,7 +51,7 @@ public class MailLogController extends BaseController { Gson gson = new GsonBuilder().create(); LogRecvData fromJson = gson.fromJson(recv, new TypeToken>(){}.getType()); if (fromJson.getStatus().intValue() == 200) { - page.setList(fromJson.getData().getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (NtcMailLog l : list) { l.setFunctionId(log.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmAvIpLogController.java b/src/main/java/com/nis/web/controller/log/ntc/MmAvIpLogController.java index 8340a38fb..2f0cc68f1 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmAvIpLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmAvIpLogController.java @@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.http.client.ClientProtocolException; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -66,7 +67,7 @@ public class MmAvIpLogController extends BaseController{ if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (MmAvIpLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmAvUrlLogController.java b/src/main/java/com/nis/web/controller/log/ntc/MmAvUrlLogController.java index 73bf8e889..64cad595e 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmAvUrlLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmAvUrlLogController.java @@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.http.client.ClientProtocolException; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -66,7 +67,7 @@ public class MmAvUrlLogController extends BaseController{ if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (NtcStreamMediaLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmFileDigestLogController.java b/src/main/java/com/nis/web/controller/log/ntc/MmFileDigestLogController.java index 8f0152036..13e91f773 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmFileDigestLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmFileDigestLogController.java @@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.http.client.ClientProtocolException; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -66,7 +67,7 @@ public class MmFileDigestLogController extends BaseController{ if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (MmFileDigestLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmPicIpLogController.java b/src/main/java/com/nis/web/controller/log/ntc/MmPicIpLogController.java index d9a05491e..8711fd712 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmPicIpLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmPicIpLogController.java @@ -7,6 +7,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -51,7 +52,7 @@ public class MmPicIpLogController extends BaseController { LogRecvData fromJson = gson.fromJson(resJson, new TypeToken>() {}.getType()); if(fromJson.getStatus().intValue() == 200) { Page fromPage = fromJson.getData(); - page.setList(fromPage.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = fromPage.getList(); for (MmPicIpLog log : list) { log.setFunctionId(mmPicIpLog.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmPicUrlController.java b/src/main/java/com/nis/web/controller/log/ntc/MmPicUrlController.java index 4360e12d5..11829e283 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmPicUrlController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmPicUrlController.java @@ -7,6 +7,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -51,7 +52,7 @@ public class MmPicUrlController extends BaseController{ LogRecvData fromJson = gson.fromJson(resJson, new TypeToken>() {}.getType()); if(fromJson.getStatus().intValue() == 200) { Page fromPage = fromJson.getData(); - page.setList(fromPage.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = fromPage.getList(); for (MmPicUrlLog log : list) { log.setFunctionId(mmPicUrlLog.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmPornAvSampleController.java b/src/main/java/com/nis/web/controller/log/ntc/MmPornAvSampleController.java index 94691404a..726900f84 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmPornAvSampleController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmPornAvSampleController.java @@ -7,6 +7,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -53,7 +54,7 @@ public class MmPornAvSampleController extends BaseController { if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (MmAvIpLog l : list) { l.setFunctionId(entry.getFunctionId()); @@ -94,7 +95,7 @@ public class MmPornAvSampleController extends BaseController { if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (MmAvIpLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmSampleAudioController.java b/src/main/java/com/nis/web/controller/log/ntc/MmSampleAudioController.java index 2db7f11a4..2ab031198 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmSampleAudioController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmSampleAudioController.java @@ -7,6 +7,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -51,7 +52,7 @@ public class MmSampleAudioController extends BaseController{ LogRecvData fromJson = gson.fromJson(resJson, new TypeToken>() {}.getType()); if(fromJson.getStatus().intValue() == 200) { Page fromPage = fromJson.getData(); - page.setList(fromPage.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = fromPage.getList(); for (MmSampleAudioLog log : list) { log.setFunctionId(sampleAudioLog.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmSampleFaceController.java b/src/main/java/com/nis/web/controller/log/ntc/MmSampleFaceController.java index 1095da20c..b2f3a098f 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmSampleFaceController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmSampleFaceController.java @@ -7,6 +7,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -51,7 +52,7 @@ public class MmSampleFaceController extends BaseController{ LogRecvData fromJson = gson.fromJson(resJson, new TypeToken>() {}.getType()); if(fromJson.getStatus().intValue() == 200) { Page fromPage = fromJson.getData(); - page.setList(fromPage.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = fromPage.getList(); for (MmSamplePicLog log : list) { log.setFunctionId(samplePicLog.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmSampleLogoController.java b/src/main/java/com/nis/web/controller/log/ntc/MmSampleLogoController.java index 8b8dcf3a0..004fb69ec 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmSampleLogoController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmSampleLogoController.java @@ -7,6 +7,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -51,7 +52,7 @@ public class MmSampleLogoController extends BaseController{ LogRecvData fromJson = gson.fromJson(resJson, new TypeToken>() {}.getType()); if(fromJson.getStatus().intValue() == 200) { Page fromPage = fromJson.getData(); - page.setList(fromPage.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = fromPage.getList(); for (MmSamplePicLog log : list) { log.setFunctionId(samplePicLog.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmSamplePicController.java b/src/main/java/com/nis/web/controller/log/ntc/MmSamplePicController.java index 9ea88dfef..90fc5bb6c 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmSamplePicController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmSamplePicController.java @@ -1,3 +1,4 @@ + package com.nis.web.controller.log.ntc; import java.util.HashMap; @@ -7,6 +8,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -51,7 +53,7 @@ public class MmSamplePicController extends BaseController{ LogRecvData fromJson = gson.fromJson(resJson, new TypeToken>() {}.getType()); if(fromJson.getStatus().intValue() == 200) { Page fromPage = fromJson.getData(); - page.setList(fromPage.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = fromPage.getList(); for (MmSamplePicLog log : list) { log.setFunctionId(samplePicLog.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmSampleSpeakerController.java b/src/main/java/com/nis/web/controller/log/ntc/MmSampleSpeakerController.java index 6ba4a1af5..8b2b0b14b 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmSampleSpeakerController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmSampleSpeakerController.java @@ -7,6 +7,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -51,7 +52,7 @@ public class MmSampleSpeakerController extends BaseController{ LogRecvData fromJson = gson.fromJson(resJson, new TypeToken>() {}.getType()); if(fromJson.getStatus().intValue() == 200) { Page fromPage = fromJson.getData(); - page.setList(fromPage.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = fromPage.getList(); for (MmSamplePicLog log : list) { log.setFunctionId(samplePicLog.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmSampleVideoController.java b/src/main/java/com/nis/web/controller/log/ntc/MmSampleVideoController.java index f671733c3..79e137df1 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmSampleVideoController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmSampleVideoController.java @@ -7,6 +7,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -51,7 +52,7 @@ public class MmSampleVideoController extends BaseController{ LogRecvData fromJson = gson.fromJson(resJson, new TypeToken>() {}.getType()); if(fromJson.getStatus().intValue() == 200) { Page fromPage = fromJson.getData(); - page.setList(fromPage.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = fromPage.getList(); for (MmSampleVideoLog log : list) { log.setFunctionId(sampleVideoLog.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmSampleVoipLogController.java b/src/main/java/com/nis/web/controller/log/ntc/MmSampleVoipLogController.java index f5ecf8c56..c018e3631 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmSampleVoipLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmSampleVoipLogController.java @@ -1,6 +1,5 @@ package com.nis.web.controller.log.ntc; -import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.List; @@ -10,7 +9,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.http.client.ClientProtocolException; -import org.aspectj.util.FileUtil; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -58,7 +57,7 @@ public class MmSampleVoipLogController extends BaseController { if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (MmVoipLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmVoipAccountLogController.java b/src/main/java/com/nis/web/controller/log/ntc/MmVoipAccountLogController.java index 62f29d105..84c9408e3 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmVoipAccountLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmVoipAccountLogController.java @@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.http.client.ClientProtocolException; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -65,7 +66,7 @@ public class MmVoipAccountLogController extends BaseController{ if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (MmVoipLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmVoipIpLogController.java b/src/main/java/com/nis/web/controller/log/ntc/MmVoipIpLogController.java index 23a5c244d..428820396 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmVoipIpLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmVoipIpLogController.java @@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.http.client.ClientProtocolException; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -65,7 +66,7 @@ public class MmVoipIpLogController extends BaseController{ if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (MmVoipLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/MmVoipLogController.java b/src/main/java/com/nis/web/controller/log/ntc/MmVoipLogController.java index 6a137d576..23090303a 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/MmVoipLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/MmVoipLogController.java @@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.http.client.ClientProtocolException; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -65,7 +66,7 @@ public class MmVoipLogController extends BaseController{ if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (MmVoipLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/OpenVpnLogController.java b/src/main/java/com/nis/web/controller/log/ntc/OpenVpnLogController.java index 439796879..49d3db382 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/OpenVpnLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/OpenVpnLogController.java @@ -67,7 +67,7 @@ public class OpenVpnLogController extends BaseController{ if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (NtcOpenVpnLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/P2pLogController.java b/src/main/java/com/nis/web/controller/log/ntc/P2pLogController.java index c1f255789..eea9c92c9 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/P2pLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/P2pLogController.java @@ -8,10 +8,12 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; 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 com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; @@ -47,7 +49,7 @@ public class P2pLogController extends BaseController { Gson gson = new GsonBuilder().create(); LogRecvData fromJson = gson.fromJson(recv, new TypeToken>(){}.getType()); if (fromJson.getStatus().intValue() == 200) { - page.setList(fromJson.getData().getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (NtcP2pLog l : list) { l.setFunctionId(log.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/PptpLogController.java b/src/main/java/com/nis/web/controller/log/ntc/PptpLogController.java index d67398d9f..8c2419948 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/PptpLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/PptpLogController.java @@ -54,6 +54,7 @@ public class PptpLogController extends BaseController { if(fromJson.getStatus().intValue() == 200) { Page fromPage = fromJson.getData(); List list = fromPage.getList(); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"}); page.setList(list); for (NtcPptpLog log : list) { log.setFunctionId(ntcPptpLog.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/SshLogController.java b/src/main/java/com/nis/web/controller/log/ntc/SshLogController.java index 96eda247a..bdbf70d42 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/SshLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/SshLogController.java @@ -67,7 +67,7 @@ public class SshLogController extends BaseController{ if (fromJson.getStatus().intValue() == 200) { Page data = fromJson.getData(); - page.setList(data.getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (NtcSshLog l : list) { l.setFunctionId(entry.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/ntc/SslLogController.java b/src/main/java/com/nis/web/controller/log/ntc/SslLogController.java index a5f55f8b7..cef7b6824 100644 --- a/src/main/java/com/nis/web/controller/log/ntc/SslLogController.java +++ b/src/main/java/com/nis/web/controller/log/ntc/SslLogController.java @@ -58,6 +58,7 @@ public class SslLogController extends BaseController { if(fromJson.getStatus().intValue() == 200) { Page fromPage = fromJson.getData(); List list = fromPage.getList(); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"}); page.setList(list); for (NtcSslLog log : list) { log.setFunctionId(ntcSslLog.getFunctionId()); diff --git a/src/main/java/com/nis/web/controller/log/pxy/PxyHttpLogController.java b/src/main/java/com/nis/web/controller/log/pxy/PxyHttpLogController.java index c2603bba6..00680a152 100644 --- a/src/main/java/com/nis/web/controller/log/pxy/PxyHttpLogController.java +++ b/src/main/java/com/nis/web/controller/log/pxy/PxyHttpLogController.java @@ -7,7 +7,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -54,7 +54,7 @@ public class PxyHttpLogController extends BaseController { LogRecvData fromJson = gson.fromJson(recv, new TypeToken>(){}.getType()); if (fromJson.getStatus().intValue() == 200) { - page.setList(fromJson.getData().getList()); + BeanUtils.copyProperties(fromJson.getData(), page, new String[] {"pageSize","pageNo"});page.setList(fromJson.getData().getList()); List list = page.getList(); for (PxyHttpLog l : list) { l.setFunctionId(log.getFunctionId()); diff --git a/src/main/java/com/nis/web/dao/configuration/AppCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/AppCfgDao.xml index 038ecc035..12d5ca0aa 100644 --- a/src/main/java/com/nis/web/dao/configuration/AppCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/AppCfgDao.xml @@ -982,7 +982,7 @@ AND r.CFG_TYPE like concat(concat('%',#{cfgType,jdbcType=VARCHAR}),'%') - AND r.CFG_KEYWORDS like concat(concat('%',#{cfgKeywords,jdbcType=VARCHAR}),'%') + AND REPLACE(r.CFG_KEYWORDS,'***and***','|') like concat(concat('%',#{cfgKeywords,jdbcType=VARCHAR}),'%') AND r.DISTRICT =#{district,jdbcType=VARCHAR} @@ -1481,7 +1481,7 @@ AND r.CFG_TYPE like concat(concat('%',#{cfgType,jdbcType=VARCHAR}),'%') - AND r.CFG_KEYWORDS like concat(concat('%',#{cfgKeywords,jdbcType=VARCHAR}),'%') + AND REPLACE(r.CFG_KEYWORDS,'***and***','|') like concat(concat('%',#{cfgKeywords,jdbcType=VARCHAR}),'%') AND r.DISTRICT =#{district,jdbcType=VARCHAR} diff --git a/src/main/java/com/nis/web/dao/configuration/AppMultiFeatureCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/AppMultiFeatureCfgDao.xml index 7039a04cc..ec1caaf13 100644 --- a/src/main/java/com/nis/web/dao/configuration/AppMultiFeatureCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/AppMultiFeatureCfgDao.xml @@ -271,27 +271,30 @@ AND r.AREA_EFFECTIVE_IDS like concat(concat('%',#{areaEffectiveIds,jdbcType=VARCHAR}),'%') - AND a.compile_id in (select f.compile_id from app_complex_feature_cfg f + AND r.compile_id in (select f.compile_id from app_complex_feature_cfg f - and f.cfg_keywords like concat(concat('%',#{complexStrCfg.cfgKeywords,jdbcType=VARCHAR}),'%') + REPLACE(f.cfg_keywords ,'***and***','|') like concat(concat('%',#{complexStrCfg.cfgKeywords,jdbcType=VARCHAR}),'%') - - and f.district like concat(concat('%',#{complexStrCfg.district,jdbcType=VARCHAR}),'%') - - + ) - AND a.compile_id in (select f.compile_id from app_string_feature_cfg f + AND r.compile_id in (select f.compile_id from app_string_feature_cfg f - and f.cfg_keywords like concat(concat('%',#{strCfg.cfgKeywords,jdbcType=VARCHAR}),'%') + REPLACE(f.cfg_keywords ,'***and***','|') like concat(concat('%',#{strCfg.cfgKeywords,jdbcType=VARCHAR}),'%') - - and f.district like concat(concat('%',#{strCfg.district,jdbcType=VARCHAR}),'%') + + ) + + + AND r.compile_id in (select f.compile_id from app_ip_range_cfg f + + + f.dest_ip_address = #{ipCfg.destIpAddress,jdbcType=VARCHAR} - + ) diff --git a/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml index e087e38f5..3ed3b863c 100644 --- a/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml @@ -387,11 +387,11 @@ ) - - AND r.compile_id in (SELECT s.compile_id FROM av_voip_account_cfg s + + AND r.compile_id in (SELECT s.compile_id FROM av_cont_url_cfg s - - REPLACE(s.cfg_keywords,'***and***','|') LIKE concat(concat('%',#{voipAccount.cfgKeywords,jdbcType=VARCHAR}),'%') + + REPLACE(s.cfg_keywords,'***and***','|') LIKE concat(concat('%',#{avContUrlCfg.cfgKeywords,jdbcType=VARCHAR}),'%') ) diff --git a/src/main/java/com/nis/web/dao/configuration/PxyObjKeyringDao.java b/src/main/java/com/nis/web/dao/configuration/PxyObjKeyringDao.java index 198b50b3b..ac6108ef3 100644 --- a/src/main/java/com/nis/web/dao/configuration/PxyObjKeyringDao.java +++ b/src/main/java/com/nis/web/dao/configuration/PxyObjKeyringDao.java @@ -4,16 +4,24 @@ import java.util.List; import org.apache.ibatis.annotations.Param; -import com.nis.domain.configuration.DnsResStrategy; import com.nis.domain.configuration.PxyObjKeyring; +import com.nis.domain.configuration.PxyObjTrustedCaCert; +import com.nis.domain.configuration.PxyObjTrustedCaCrl; import com.nis.web.dao.CrudDao; import com.nis.web.dao.MyBatisDao; @MyBatisDao -public interface PxyObjKeyringDao extends CrudDao< PxyObjKeyring> { +public interface PxyObjKeyringDao extends CrudDao{ List findPage( PxyObjKeyring pxyObjKeyring); + List findTrustedCertPage( PxyObjTrustedCaCert PxyObjTrustedCaCert); List findList(@Param("cfgId")Long cfgId ,@Param("isAudit")Integer isAudit ,@Param("isValid")Integer isValid,@Param("cfgType")String cfgType); + PxyObjTrustedCaCert getPxyObjTrustedCaCert(Long id); + PxyObjTrustedCaCrl getPxyObjTrustedCaCrl(PxyObjTrustedCaCrl entity); + void insertPxyObjTrustedCaCert(PxyObjTrustedCaCert PxyObjTrustedCaCert); + void updatePxyObjTrustedCaCert(PxyObjTrustedCaCert PxyObjTrustedCaCert); + void insertPxyObjTrustedCaCrl(PxyObjTrustedCaCrl pxyObjTrustedCaCrl); + void updatePxyObjTrustedCaCrl(PxyObjTrustedCaCrl pxyObjTrustedCaCrl); } \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/configuration/PxyObjKeyringDao.xml b/src/main/java/com/nis/web/dao/configuration/PxyObjKeyringDao.xml index 012c55833..0f5f40661 100644 --- a/src/main/java/com/nis/web/dao/configuration/PxyObjKeyringDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/PxyObjKeyringDao.xml @@ -38,6 +38,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + r.cfg_id,r.cfg_desc + ,r.cert_file + , r.issuer + ,r.cfg_type,r.action + ,r.is_valid,r.is_audit,r.creator_id,r.create_time,r.editor_id + ,r.edit_time,r.auditor_id,r.audit_time,r.service_id,r.request_id + ,r.is_area_effective,r.classify,r.attribute,r.lable + ,r.area_effective_ids,r.function_id,r.cfg_region_code,r.compile_id,r.cancel_request_id + + + r.cfg_id,r.cfg_desc + ,r.crl_file + ,r.cert_id + , r.issuer + ,r.cfg_type,r.action + ,r.is_valid,r.is_audit,r.creator_id,r.create_time,r.editor_id + ,r.edit_time,r.auditor_id,r.audit_time,r.service_id,r.request_id + ,r.is_area_effective,r.classify,r.attribute,r.lable + ,r.area_effective_ids,r.function_id,r.cfg_region_code,r.compile_id + r.cfg_id,r.cfg_desc , r.keyring_type @@ -144,6 +219,89 @@ ORDER BY r.CFG_ID desc + + + + + + + insert into pxy_obj_keyring ( CFG_ID, @@ -246,8 +428,271 @@ #{compileId,jdbcType=INTEGER}, #{cfgRegionCode,jdbcType=INTEGER} ) + + + insert into pxy_obj_trusted_ca_cert ( + CFG_ID, + CFG_DESC, + ACTION, + IS_VALID, + IS_AUDIT, + CREATOR_ID, + CREATE_TIME, + EDITOR_ID, + EDIT_TIME, + AUDITOR_ID, + AUDIT_TIME, + SERVICE_ID, + REQUEST_ID, + IS_AREA_EFFECTIVE, + CLASSIFY, + ATTRIBUTE, + LABLE, + AREA_EFFECTIVE_IDS, + function_id, + cert_file, + issuer, + cfg_type, + compile_Id, + cfg_region_code + )values ( + #{cfgId,jdbcType=VARCHAR}, + #{cfgDesc,jdbcType=VARCHAR}, + #{action,jdbcType=INTEGER}, + 0, + 0, + #{creatorId,jdbcType=INTEGER}, + #{createTime,jdbcType=TIMESTAMP}, + #{editorId,jdbcType=INTEGER}, + #{editTime,jdbcType=TIMESTAMP}, + #{auditorId,jdbcType=INTEGER}, + #{auditTime,jdbcType=TIMESTAMP}, + #{serviceId,jdbcType=INTEGER}, + #{requestId,jdbcType=INTEGER}, + #{isAreaEffective,jdbcType=INTEGER}, + #{classify,jdbcType=VARCHAR}, + #{attribute,jdbcType=VARCHAR}, + #{lable,jdbcType=VARCHAR}, + #{areaEffectiveIds,jdbcType=VARCHAR}, + #{functionId,jdbcType=INTEGER}, + #{certFile, jdbcType=VARCHAR}, + #{issuer, jdbcType=VARCHAR}, + #{cfgType,jdbcType=VARCHAR}, + #{compileId,jdbcType=INTEGER}, + #{cfgRegionCode,jdbcType=INTEGER} + ) + + update pxy_obj_trusted_ca_cert + + + + cfg_desc = #{cfgDesc,jdbcType=VARCHAR}, + + + cfg_type = #{cfgType,jdbcType=VARCHAR}, + + + compile_Id = #{compileId,jdbcType=VARCHAR}, + + + action = #{action,jdbcType=INTEGER}, + + + is_valid = #{isValid,jdbcType=INTEGER}, + + + is_audit = #{isAudit,jdbcType=INTEGER}, + + + editor_id = #{editorId,jdbcType=INTEGER}, + + + edit_time = #{editTime,jdbcType=TIMESTAMP}, + + + AUDITOR_ID = #{auditorId,jdbcType=INTEGER}, + + + AUDIT_TIME = #{auditTime,jdbcType=TIMESTAMP}, + + + request_id = #{requestId,jdbcType=INTEGER}, + + + is_area_effective = #{isAreaEffective,jdbcType=INTEGER}, + + + classify = #{classify,jdbcType=VARCHAR}, + + + attribute = #{attribute,jdbcType=VARCHAR}, + + + lable = #{lable,jdbcType=VARCHAR}, + + + area_effective_ids = #{areaEffectiveIds,jdbcType=VARCHAR}, + + + function_id = #{functionId,jdbcType=INTEGER}, + + + service_id = #{serviceId,jdbcType=INTEGER}, + + + cert_file = #{certFile,jdbcType=VARCHAR}, + + + issuer = #{issuer,jdbcType=VARCHAR}, + + + + + and cfg_id = #{cfgId,jdbcType=INTEGER} + + and function_id = #{functionId,jdbcType=INTEGER} + + + + + insert into pxy_obj_trusted_ca_crl ( + CFG_ID, + CFG_DESC, + ACTION, + IS_VALID, + IS_AUDIT, + CREATOR_ID, + CREATE_TIME, + EDITOR_ID, + EDIT_TIME, + AUDITOR_ID, + AUDIT_TIME, + SERVICE_ID, + REQUEST_ID, + IS_AREA_EFFECTIVE, + CLASSIFY, + ATTRIBUTE, + LABLE, + AREA_EFFECTIVE_IDS, + function_id, + crl_file, + cert_Id, + issuer, + cfg_type, + compile_Id, + cfg_region_code + )values ( + #{cfgId,jdbcType=VARCHAR}, + #{cfgDesc,jdbcType=VARCHAR}, + #{action,jdbcType=INTEGER}, + #{isValid,jdbcType=INTEGER}, + #{isAudit,jdbcType=INTEGER}, + #{creatorId,jdbcType=INTEGER}, + #{createTime,jdbcType=TIMESTAMP}, + #{editorId,jdbcType=INTEGER}, + #{editTime,jdbcType=TIMESTAMP}, + #{auditorId,jdbcType=INTEGER}, + #{auditTime,jdbcType=TIMESTAMP}, + #{serviceId,jdbcType=INTEGER}, + #{requestId,jdbcType=INTEGER}, + #{isAreaEffective,jdbcType=INTEGER}, + #{classify,jdbcType=VARCHAR}, + #{attribute,jdbcType=VARCHAR}, + #{lable,jdbcType=VARCHAR}, + #{areaEffectiveIds,jdbcType=VARCHAR}, + #{functionId,jdbcType=INTEGER}, + #{crlFile, jdbcType=VARCHAR}, + #{certId, jdbcType=INTEGER}, + #{issuer, jdbcType=VARCHAR}, + #{cfgType,jdbcType=VARCHAR}, + #{compileId,jdbcType=INTEGER}, + #{cfgRegionCode,jdbcType=INTEGER} + ) + + + + update pxy_obj_trusted_ca_crl + + + + cfg_desc = #{cfgDesc,jdbcType=VARCHAR}, + + + cfg_type = #{cfgType,jdbcType=VARCHAR}, + + + compile_Id = #{compileId,jdbcType=VARCHAR}, + + + action = #{action,jdbcType=INTEGER}, + + + is_valid = #{isValid,jdbcType=INTEGER}, + + + is_audit = #{isAudit,jdbcType=INTEGER}, + + + editor_id = #{editorId,jdbcType=INTEGER}, + + + edit_time = #{editTime,jdbcType=TIMESTAMP}, + + + AUDITOR_ID = #{auditorId,jdbcType=INTEGER}, + + + AUDIT_TIME = #{auditTime,jdbcType=TIMESTAMP}, + + + request_id = #{requestId,jdbcType=INTEGER}, + + + is_area_effective = #{isAreaEffective,jdbcType=INTEGER}, + + + classify = #{classify,jdbcType=VARCHAR}, + + + attribute = #{attribute,jdbcType=VARCHAR}, + + + lable = #{lable,jdbcType=VARCHAR}, + + + area_effective_ids = #{areaEffectiveIds,jdbcType=VARCHAR}, + + + function_id = #{functionId,jdbcType=INTEGER}, + + + service_id = #{serviceId,jdbcType=INTEGER}, + + + crl_file = #{crlFile,jdbcType=VARCHAR}, + + + issuer = #{issuer,jdbcType=VARCHAR}, + + + + + + and cfg_id = #{cfgId,jdbcType=INTEGER} + + + and cert_id = #{certId,jdbcType=INTEGER} + + + and issuer = #{issuer,jdbcType=INTEGER} + + + and function_id = #{functionId,jdbcType=INTEGER} + + + update pxy_obj_keyring diff --git a/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml index 83a248837..ecc3901cc 100644 --- a/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml @@ -159,10 +159,15 @@ , s.name as creator_name,e.name as editor_name,u.name as auditor_name - ,ri.request_title as requestName,dns.cfg_desc as dns_strategy_name + ,ri.request_title as requestName + + ,dns.cfg_desc as dns_strategy_name + FROM cfg_index_info a - left join dns_res_strategy dns on a.dns_strategy_id=dns.cfg_id + + left join dns_res_strategy dns on a.dns_strategy_id=dns.cfg_id + left join sys_user s on a.creator_id=s.id left join sys_user e on a.editor_id=e.id left join sys_user u on a.auditor_id=u.id diff --git a/src/main/java/com/nis/web/service/BaseService.java b/src/main/java/com/nis/web/service/BaseService.java index 6ac4e436e..b83c01822 100644 --- a/src/main/java/com/nis/web/service/BaseService.java +++ b/src/main/java/com/nis/web/service/BaseService.java @@ -28,6 +28,8 @@ import com.nis.domain.basics.AsnIpCfg; import com.nis.domain.callback.InlineIp; import com.nis.domain.callback.NtcDnsResStrategy; import com.nis.domain.callback.ProxyObjKeyring; +import com.nis.domain.callback.ProxyObjTrustedCa; +import com.nis.domain.callback.ProxyObjTrustedCaCrl; import com.nis.domain.configuration.AppIpCfg; import com.nis.domain.configuration.AreaBean; import com.nis.domain.configuration.AreaIpCfg; @@ -35,6 +37,8 @@ import com.nis.domain.configuration.BaseCfg; import com.nis.domain.configuration.BaseIpCfg; import com.nis.domain.configuration.DnsResStrategy; import com.nis.domain.configuration.PxyObjKeyring; +import com.nis.domain.configuration.PxyObjTrustedCaCert; +import com.nis.domain.configuration.PxyObjTrustedCaCrl; import com.nis.domain.maat.MaatCfg.GroupCfg; import com.nis.domain.maat.MaatCfg.IpCfg; import com.nis.domain.maat.MaatCfg.NumBoundaryCfg; @@ -43,6 +47,7 @@ import com.nis.util.ConfigServiceUtil; import com.nis.util.Configurations; import com.nis.util.Constants; import com.nis.util.IpUtil; +import com.nis.util.StringUtil; import com.nis.util.StringUtils; /** @@ -959,6 +964,35 @@ public abstract class BaseService { proxyObjKeyring.setOpTime(cfg.getAuditTime()); return proxyObjKeyring; } + //可信证书 + public List convertCallBackProxyObjTrustedCa(PxyObjTrustedCaCert cfgCert,PxyObjTrustedCaCrl cfgCrl){ + List proxyObjTrustedCas=new ArrayList<>(); + ProxyObjTrustedCa proxyObjTrustedCaCert=new ProxyObjTrustedCa(); + if(cfgCert != null && !StringUtil.isEmpty(cfgCert.getCompileId())){ + proxyObjTrustedCaCert.setId(Long.valueOf(cfgCert.getCompileId())); + proxyObjTrustedCaCert.setCfgId(cfgCert.getCompileId()); + proxyObjTrustedCaCert.setCertId(cfgCert.getCompileId()); + proxyObjTrustedCaCert.setCertName(cfgCert.getCfgDesc()); + proxyObjTrustedCaCert.setCertFile(cfgCert.getCertFile()); + proxyObjTrustedCaCert.setService(cfgCert.getServiceId()); + proxyObjTrustedCaCert.setIsValid(cfgCert.getIsValid()); + proxyObjTrustedCaCert.setOpTime(cfgCert.getAuditTime()); + proxyObjTrustedCas.add(proxyObjTrustedCaCert); + } + if(cfgCrl != null && !StringUtil.isEmpty(cfgCrl.getCompileId())){ + proxyObjTrustedCaCert.setId(Long.valueOf(cfgCrl.getCompileId())); + proxyObjTrustedCaCert.setCfgId(cfgCrl.getCompileId()); + proxyObjTrustedCaCert.setCertId(cfgCrl.getCertId()); + proxyObjTrustedCaCert.setService(cfgCrl.getServiceId()); + proxyObjTrustedCaCert.setIsValid(cfgCrl.getIsValid()); + proxyObjTrustedCaCert.setOpTime(cfgCrl.getAuditTime()); + proxyObjTrustedCaCert.setCrlId(cfgCrl.getCompileId()); + proxyObjTrustedCaCert.setCrlFile(cfgCrl.getCrlFile()); + proxyObjTrustedCas.add(proxyObjTrustedCaCert); + } + + return proxyObjTrustedCas; + } //ip转换为callback用ip public NtcDnsResStrategy convertCallBackDnsResStrategy(DnsResStrategy cfg){ NtcDnsResStrategy resStrategy=new NtcDnsResStrategy(); diff --git a/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java b/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java index c55f8ae86..252cfcfb2 100644 --- a/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java +++ b/src/main/java/com/nis/web/service/basics/AsnIpCfgService.java @@ -80,8 +80,12 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void saveAsnIpBatch(Map> cfgs,int total) { + //需要通过删除域接口删除的ip集合 List toDelAsnIpCfgs=Lists.newArrayList(); + //需要本地保存的IP集合 List toSaveAsnIpCfgs=Lists.newArrayList(); + //需要通过新增域接口新增的ip集合 + List toAddRegionAsnIpCfgs=Lists.newArrayList(); List isImportAll=DictUtils.getDictList("IS_ASN_IP_IMPORT_ALL"); List idList=ConfigServiceUtil.getId(3, total); int ind=0; @@ -103,6 +107,7 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { cfg.setIsValid(Constants.VALID_NO); else { cfg.setIsValid(Constants.VALID_YES); + toAddRegionAsnIpCfgs.add(cfg); } ind++; } @@ -119,8 +124,8 @@ public class AsnIpCfgService extends CrudService, AsnIpCfg> { if(toDelAsnIpCfgs.size()>0) { asnIPRegionSendToMaat(toDelAsnIpCfgs,Constants.VALID_NO); } - if(toSaveAsnIpCfgs.size()>0) { - asnIPRegionSendToMaat(toSaveAsnIpCfgs,Constants.VALID_YES); + if(toAddRegionAsnIpCfgs.size()>0) { + asnIPRegionSendToMaat(toAddRegionAsnIpCfgs,Constants.VALID_YES); } } /** diff --git a/src/main/java/com/nis/web/service/configuration/AppMultiFeatureCfgService.java b/src/main/java/com/nis/web/service/configuration/AppMultiFeatureCfgService.java index 7cb910206..f474bde23 100644 --- a/src/main/java/com/nis/web/service/configuration/AppMultiFeatureCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/AppMultiFeatureCfgService.java @@ -311,8 +311,13 @@ public class AppMultiFeatureCfgService extends BaseService { public Map exportFeature(AppFeatureIndex entity){ Map dataMap=new HashMap(); List ipRangeList = appMultiFeatureCfgDao.getAppIpRangeCfg(entity.getCompileId(),entity.getFunctionId()); - List appKeyList = appMultiFeatureCfgDao.getAppComplexFeatureCfg(entity.getCompileId(),entity.getFunctionId(),null); - dataMap.put("APP_KEYWORDS", appKeyList); + if(entity.getFunctionId()!=567){ + List appKeyList = appMultiFeatureCfgDao.getAppComplexFeatureCfg(entity.getCompileId(),entity.getFunctionId(),null); + dataMap.put("APP_KEYWORDS", appKeyList); + }else{ + List appKeyList = appMultiFeatureCfgDao.getAppStringFeatureCfg(entity.getCompileId(),entity.getFunctionId(),null); + dataMap.put("APP_DK_GL", appKeyList); + } dataMap.put("APP_IP_RANGE", ipRangeList); return dataMap; } diff --git a/src/main/java/com/nis/web/service/configuration/PxyObjKeyringService.java b/src/main/java/com/nis/web/service/configuration/PxyObjKeyringService.java index 978be4016..9dc9f936b 100644 --- a/src/main/java/com/nis/web/service/configuration/PxyObjKeyringService.java +++ b/src/main/java/com/nis/web/service/configuration/PxyObjKeyringService.java @@ -5,21 +5,29 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.nis.domain.Page; import com.nis.domain.callback.ProxyObjKeyring; +import com.nis.domain.callback.ProxyObjTrustedCa; +import com.nis.domain.callback.ProxyObjTrustedCaCrl; import com.nis.domain.configuration.PxyObjKeyring; +import com.nis.domain.configuration.PxyObjTrustedCaCert; +import com.nis.domain.configuration.PxyObjTrustedCaCrl; import com.nis.domain.maat.ToMaatResult; import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil; import com.nis.util.StringUtil; +import com.nis.web.dao.basics.ServiceDictInfoDao; import com.nis.web.dao.configuration.PxyObjKeyringDao; import com.nis.web.security.UserUtils; import com.nis.web.service.BaseService; +import oracle.sql.ARRAY; + /** @@ -31,6 +39,8 @@ import com.nis.web.service.BaseService; public class PxyObjKeyringService extends BaseService{ @Autowired protected PxyObjKeyringDao pxyObjKeyringDao; + @Autowired + private ServiceDictInfoDao serviceDictInfoDao; /** @@ -46,6 +56,19 @@ public class PxyObjKeyringService extends BaseService{ page.setList(list); return page; } + /** + * 查询分页数据 + * @param page 分页对象 + * @param entity + * @return + */ + public Page findTrustedCertPage(Page page, PxyObjTrustedCaCert entity) { + entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"r")); + entity.setPage(page); + List list=pxyObjKeyringDao.findTrustedCertPage(entity); + page.setList(list); + return page; + } public List findPxyObjKeyrings(Long cfgId,Integer isValid,Integer isAudit,String cfgType) { List list=pxyObjKeyringDao.findList(cfgId,isValid,isAudit,cfgType); return list; @@ -59,6 +82,9 @@ public class PxyObjKeyringService extends BaseService{ } return dnsResStrategy; } + public PxyObjTrustedCaCert getPxyObjTrustedCaCert(Long id) { + return pxyObjKeyringDao.getPxyObjTrustedCaCert(id); + } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void saveOrUpdate(PxyObjKeyring entity){ Date createTime=new Date(); @@ -92,6 +118,163 @@ public class PxyObjKeyringService extends BaseService{ pxyObjKeyringDao.update(entity); } } + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void trustedCertsaveOrUpdate(PxyObjTrustedCaCert entity){ + Date createTime=new Date(); + setAreaEffectiveIds(entity); + entity.setIsValid(0); + entity.setIsAudit(0); + //新增 + if(StringUtil.isEmpty(entity.getCfgId())){ + entity.initDefaultValue(); + entity.setCreatorId(UserUtils.getUser().getId()); + entity.setCreateTime(createTime); + //调用服务接口获取compileId + List compileIds = new ArrayList(); + try { + compileIds = ConfigServiceUtil.getId(1,1); + } catch (Exception e) { + e.printStackTrace(); + logger.info("获取编译ID出错"); + throw new MaatConvertException(":"+e.getMessage()); + } + if(compileIds != null && compileIds.size() >0 && compileIds.get(0) != 0){ + entity.setCompileId(compileIds.get(0)); + } + pxyObjKeyringDao.insertPxyObjTrustedCaCert(entity); + //修改 + }else{ + Date editTime=new Date(); + entity.setEditorId(UserUtils.getUser().getId()); + entity.setEditTime(editTime); + pxyObjKeyringDao.updatePxyObjTrustedCaCert(entity); + //修改主表cert配置时,需要修改子表crl配置信息 + PxyObjTrustedCaCrl crlCfg =new PxyObjTrustedCaCrl(); + BeanUtils.copyProperties(entity, crlCfg, new String[]{"cfgId","serviceId","compileId","cfgType"}); + entity=pxyObjKeyringDao.getPxyObjTrustedCaCert(entity.getCfgId()); + crlCfg.setCertId(entity.getCompileId()); + pxyObjKeyringDao.updatePxyObjTrustedCaCrl(crlCfg); + + } + } + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void trustedCrlsaveOrUpdate(PxyObjTrustedCaCrl entity){ + if(StringUtil.isEmpty(entity.getCertId())){ + entity.setCertId(0); + } + Date createTime=new Date(); + Integer oldCrlAudit=0; + Integer oldCompileId=0; + PxyObjTrustedCaCrl oldCrl=pxyObjKeyringDao.getPxyObjTrustedCaCrl(entity); + + if(oldCrl != null){ + entity.setCfgId(oldCrl.getCfgId()); + entity.setCompileId(oldCrl.getCompileId()); + oldCrlAudit=oldCrl.getIsAudit(); + oldCompileId=oldCrl.getCompileId(); + } + + //新增 + if(StringUtil.isEmpty(entity.getCfgId())){ + entity.initDefaultValue(); + entity.setCreatorId(UserUtils.getUser().getId()); + entity.setCreateTime(createTime); + //调用服务接口获取compileId + List compileIds = new ArrayList(); + try { + compileIds = ConfigServiceUtil.getId(1,1); + } catch (Exception e) { + e.printStackTrace(); + logger.info("获取编译ID出错"); + throw new MaatConvertException(":"+e.getMessage()); + } + if(compileIds != null && compileIds.size() >0 && compileIds.get(0) != 0){ + entity.setCompileId(compileIds.get(0)); + } + entity.setCreateTime(createTime); + entity.setCreatorId(UserUtils.getUser().getId()); + //主表为审核通过,则直接修改审核信息 + if(entity.getIsAudit().equals(1)){ + entity.setAuditTime(createTime); + entity.setAuditorId(UserUtils.getUser().getId()); + } + pxyObjKeyringDao.insertPxyObjTrustedCaCrl(entity); + }else{ + Date editTime=new Date(); + //主表为审核通过,则直接修改审核信息 + if(entity.getIsAudit() == 1){ + entity.setAuditTime(editTime); + entity.setAuditorId(UserUtils.getUser().getId()); + //主表为未审核,直接修改修改人员信息 + }else{ + entity.setEditorId(UserUtils.getUser().getId()); + entity.setEditTime(editTime); + } + //如之前crl为生效,则需要重新获取编译id + if(oldCrlAudit==1){ + //调用服务接口获取compileId + List compileIds = new ArrayList(); + try { + compileIds = ConfigServiceUtil.getId(1,1); + } catch (Exception e) { + e.printStackTrace(); + logger.info("获取编译ID出错"); + throw new MaatConvertException(":"+e.getMessage()); + } + if(compileIds != null && compileIds.size() >0 && compileIds.get(0) != 0){ + entity.setCompileId(compileIds.get(0)); + } + } + pxyObjKeyringDao.updatePxyObjTrustedCaCrl(entity); + } + + + //主表cert审核通过,crl配置需下发 + if(entity.getIsAudit() == 1){ + //crl之前为生效状态,需先失效 + if(oldCrlAudit==1){ + String json=""; + List resStrategyList=new ArrayList<>(); + resStrategyList=convertCallBackProxyObjTrustedCa(null,entity); + if( !StringUtil.isEmpty(resStrategyList)){ + resStrategyList.get(0).setCrlId(oldCompileId); + resStrategyList.get(0).setId(Long.valueOf(oldCompileId)); + resStrategyList.get(0).setCfgId(oldCompileId); + resStrategyList.get(0).setIsValid(0); + } + //调用服务接口取消配置 + json=gsonToJson(resStrategyList); + logger.info("crl配置参数:"+json); + //调用服务接口取消配置 + try { + ToMaatResult result = ConfigServiceUtil.put(json, 2); + logger.info("crl配置响应信息:"+result.getMsg()); + } catch (Exception e) { + e.printStackTrace(); + logger.info("crl配置失败"); + throw e; + } + } + + String json=""; + List ProxyObjTrustedCaList=new ArrayList(); + ProxyObjTrustedCaList=convertCallBackProxyObjTrustedCa(null,entity); + //调用服务接口下发配置数据 + json=gsonToJson(ProxyObjTrustedCaList); + logger.info("crl配置参数:"+json); + //调用服务接口下发配置 + try { + ToMaatResult result = ConfigServiceUtil.postCallbackCfg(json); + if(result!=null){ + logger.info("crl配置下发响应信息:"+result.getMsg()); + } + } catch (Exception e) { + logger.error("crl配置下发失败",e); + throw e; + } + + } + } /** * @@ -168,6 +351,103 @@ public class PxyObjKeyringService extends BaseService{ } } } + /** + * + * @param isAudit + * @param isValid + * @param ids compileIds + */ + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void trustedCertDelete(Integer isAudit,Integer isValid,String ids,Integer functionId){ + String[] idArray = ids.split(","); + for(String id :idArray){ + PxyObjTrustedCaCert entity = new PxyObjTrustedCaCert(); + entity.setCfgId(Long.valueOf(id)); + entity.setFunctionId(functionId); + entity.setIsAudit(isAudit); + entity.setIsValid(isValid); + entity.setEditorId(UserUtils.getUser().getId()); + entity.setEditTime(new Date()); + pxyObjKeyringDao.updatePxyObjTrustedCaCert(entity); + //主表cert配置删除后,需删除crl子表配置 + PxyObjTrustedCaCrl crlCfg =new PxyObjTrustedCaCrl(); + BeanUtils.copyProperties(entity, crlCfg, new String[]{"cfgId","serviceId","compileId","cfgType"}); + entity=pxyObjKeyringDao.getPxyObjTrustedCaCert(entity.getCfgId()); + crlCfg.setCertId(entity.getCompileId()); + pxyObjKeyringDao.updatePxyObjTrustedCaCrl(crlCfg); + } + } + /** + * + * @param isAudit + * @param isValid + * @param ids cfgId + * @param functionId + */ + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void trustedCertAudit(Integer isAudit,Integer isValid,Integer functionId,String id,Date auditTime){ + PxyObjTrustedCaCrl crlCfg=new PxyObjTrustedCaCrl(); + PxyObjTrustedCaCert cfg=new PxyObjTrustedCaCert(); + cfg.setCfgId(Long.valueOf(id)); + cfg.setIsValid(isValid); + cfg.setIsAudit(isAudit); + cfg.setEditTime(auditTime); + cfg.setEditorId(UserUtils.getUser().getId()); + cfg.setAuditorId(UserUtils.getUser().getId()); + cfg.setAuditTime(auditTime); + //修改主表cert 配置状态 + pxyObjKeyringDao.updatePxyObjTrustedCaCert(cfg); + cfg=getPxyObjTrustedCaCert(cfg.getCfgId()); + //修改子表crl 配置状态 + BeanUtils.copyProperties(cfg, crlCfg, new String[]{"cfgId","serviceId","compileId","cfgType"}); + crlCfg.setCertId(cfg.getCompileId()); + pxyObjKeyringDao.updatePxyObjTrustedCaCrl(crlCfg); + crlCfg=pxyObjKeyringDao.getPxyObjTrustedCaCrl(crlCfg); + + //失效配置,将子表的失效来函设置与主表相同 + if(cfg.getIsAudit()==3){ + //设置配置取消的来函信息 + serviceDictInfoDao.auditCancleRequestInfo(cfg.getCancelRequestId(), + "pxy_obj_trusted_ca_crl", + crlCfg.getCfgId().toString()); + } + + String json=""; + if(cfg.getIsAudit()==1){ + List trustedCertList=new ArrayList(); + //可信证书cert回调配置转换 + trustedCertList=convertCallBackProxyObjTrustedCa(cfg,crlCfg); + //调用服务接口下发配置数据 + json=gsonToJson(trustedCertList); + logger.info("可信证书(cert+crl)配置下发配置参数:"+json); + //调用服务接口下发配置 + try { + ToMaatResult result = ConfigServiceUtil.postCallbackCfg(json); + if(result!=null){ + logger.info("可信证书(cert+crl)配置下发响应信息:"+result.getMsg()); + } + } catch (Exception e) { + logger.error("可信证书(cert+crl)配置下发失败",e); + throw e; + } + }else if(cfg.getIsAudit()==3){ + List trustedCertList=new ArrayList(); + //可信证书cert回调配置转换 + trustedCertList=convertCallBackProxyObjTrustedCa(cfg,crlCfg); + //调用服务接口取消配置 + json=gsonToJson(trustedCertList); + logger.info("可信证书(cert+crl)配置参数:"+json); + //调用服务接口取消配置 + try { + ToMaatResult result = ConfigServiceUtil.put(json, 2); + logger.info("可信证书配置响应信息:"+result.getMsg()); + } catch (Exception e) { + e.printStackTrace(); + logger.error("可信证书配置失败"); + throw e; + } + } + } } \ 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 aa40ad354..2795282dc 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -1319,7 +1319,6 @@ user_behavior_data=\u7528\u6237\u7edf\u8ba1 ip_behavior_data=\u7528\u6237IP\u7edf\u8ba1 not_valid_domain=%s\u4e0d\u662f\u4e00\u4e2a\u5408\u6cd5\u57df\u540d cert_not_match_domain=\u57df\u540d\u4e0e\u6240\u9009\u8bc1\u4e66\u4fe1\u606f\u4e0d\u7b26\u5408\uff01 -request_uri=SIP\u8bf7\u6c42URIcert_not_match_domain=\u57DF\u540D\u4E0E\u6240\u9009\u8BC1\u4E66\u4FE1\u606F\u4E0D\u7B26\u5408\uFF01 crl_file_error=CRL\u6587\u4EF6\u683C\u5F0F\u9519\u8BEF crl_issuer_error=crl\u6587\u4EF6\u7684issuer\u4E0E\u8BC1\u4E66\u6587\u4EF6\u7684issuer\u4E0D\u5339\u914D \u7FFB\u8BD1 cert_name=\u8BC1\u4E66\u540D\u79F0 @@ -1334,4 +1333,15 @@ sip_d_ip=SIP\u670d\u52a1\u7aefIP\u5730\u5740 sip_s_ip=SIP\u5ba2\u6237\u7aefIP\u5730\u5740 sip_d_port=SIP\u670d\u52a1\u7aef\u7aef\u53e3 sip_s_port=SIP\u5ba2\u6237\u7aef\u7aef\u53e3 -call_id=SIP\u4f1a\u8bddID \ No newline at end of file +call_id=SIP\u4f1a\u8bddID +collect_voip=VoIP \u6cdb\u6536 +rtp_d_ip=RTP\u670d\u52a1\u7aefIP\u5730\u5740 +rtp_s_ip=RTP\u5ba2\u6237\u7aefIP\u5730\u5740 +rtp_d_port=RTP\u670d\u52a1\u7aef\u7aef\u53e3 +rtp_s_port=RTP\u5ba2\u6237\u7aef\u7aef\u53e3 +sip_d_ip=SIP\u670d\u52a1\u7aefIP\u5730\u5740 +sip_s_ip=SIP\u5ba2\u6237\u7aefIP\u5730\u5740 +sip_d_port=SIP\u670d\u52a1\u7aef\u7aef\u53e3 +sip_s_port=SIP\u5ba2\u6237\u7aef\u7aef\u53e3 +call_id=SIP\u4f1a\u8bddID +request_uri=SIP\u8bf7\u6c42URI diff --git a/src/main/resources/nis.properties b/src/main/resources/nis.properties index 3b81f69b2..bc7d57abd 100644 --- a/src/main/resources/nis.properties +++ b/src/main/resources/nis.properties @@ -269,6 +269,7 @@ pxyHttpLog=pxyHttpLogs mmSpeakerRecognizationLog=mmSpeakerRecognizationLogs mmLogoDetectionLog=mmLogoDetectionLogs mmFaceRecognizationLog=mmFaceRecognizationLogs +ntcCollectVoipLog=ntcCollectVoipLogs ######################################## #\u5927\u5c4f\u56fe\u8868\u5c55\u793a\u670d\u52a1\u63a5\u53e3 dashboardUrl=http://192.168.10.204:9999/galaxy-service/service/log/v1/ @@ -543,5 +544,5 @@ cert_validate_success_info=Successful #ipv4 range\u65b0\u683c\u5f0f0.0.0.1-2 ipv4_ip_range_regexp_new=^(0|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\.(0|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\.(0|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\.(0|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)-(0|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$ ipv4_ip_subnet_regexp_original=^(0|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\.(0|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\.(0|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\.(0|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)/(3[0-2]|1[0-9]|2[0-9]|[0-9])$ -#域名验证正则 +#\u57df\u540d\u9a8c\u8bc1\u6b63\u5219 domain_regexp=^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$ \ No newline at end of file diff --git a/src/main/resources/shell/x509 b/src/main/resources/shell/x509 index 8870c3d27..f39b17b88 100644 Binary files a/src/main/resources/shell/x509 and b/src/main/resources/shell/x509 differ diff --git a/src/main/resources/sql/20181107/update_sys_menu b/src/main/resources/sql/20181107/update_sys_menu new file mode 100644 index 000000000..9e861c3a9 --- /dev/null +++ b/src/main/resources/sql/20181107/update_sys_menu @@ -0,0 +1,37 @@ +alter table sys_menu modify column menu_bg varchar(1024) DEFAULT null COMMENT '原表示背景颜色,现用于记录功能帮助的URL信息'; +UPDATE sys_menu SET `menu_bg`='/online-help/ntc/ip_white_list' WHERE (`id`='607'); +UPDATE sys_menu SET `menu_bg`='/online-help/ntc/ip_address' WHERE (`id`='609'); +UPDATE sys_menu SET `menu_bg`='/online-help/ntc/DNS' WHERE (`id`='611'); +UPDATE sys_menu SET `menu_bg`='/online-help/ntc/HTTP_advanced' WHERE (`id`='612'); +UPDATE sys_menu SET `menu_bg`='/online-help/ntc/stream_media' WHERE (`id`='624'); +UPDATE sys_menu SET `menu_bg`='/online-help/ntc/voip' WHERE (`id`='628'); +UPDATE sys_menu SET `menu_bg`='/online-help/ysp/audio_sample' WHERE (`id`='632'); +UPDATE sys_menu SET `menu_bg`='/online-help/ysp/video_sample' WHERE (`id`='633'); +UPDATE sys_menu SET `menu_bg`='/online-help/ysp/picture_sample' WHERE (`id`='634'); +UPDATE sys_menu SET `menu_bg`='/online-help/ysp/voip_sample' WHERE (`id`='635'); +UPDATE sys_menu SET `menu_bg`='/online-help/ysp/video_scene' WHERE (`id`='637'); +UPDATE sys_menu SET `menu_bg`='/online-help/ntc/SSL' WHERE (`id`='680'); +UPDATE sys_menu SET `menu_bg`='/online-help/ntc/Mail_advanced' WHERE (`id`='682'); +UPDATE sys_menu SET `menu_bg`='/online-help/ntc/FTP' WHERE (`id`='694'); +UPDATE sys_menu SET `menu_bg`='/online-help/ntc/BGP' WHERE (`id`='698'); +UPDATE sys_menu SET `menu_bg`='/online-help/ysp/file_digest' WHERE (`id`='701'); +UPDATE sys_menu SET `menu_bg`='/online-help/proxy/https_redirect_policy' WHERE (`id`='725'); +UPDATE sys_menu SET `menu_bg`='/online-help/app/app' WHERE (`id`='738'); +UPDATE sys_menu SET `menu_bg`='/online-help/app/IP_feature_advance' WHERE (`id`='739'); +UPDATE sys_menu SET `menu_bg`='/online-help/app/HTTP_feature_advance' WHERE (`id`='740'); +UPDATE sys_menu SET `menu_bg`='/online-help/app/domain_feature_advance' WHERE (`id`='741'); +UPDATE sys_menu SET `menu_bg`='/online-help/app/basic_protocol' WHERE (`id`='902'); +UPDATE sys_menu SET `menu_bg`='/online-help/app/tunnel_behavior' WHERE (`id`='903'); +UPDATE sys_menu SET `menu_bg`='/online-help/proxy/https_block_policy' WHERE (`id`='911'); +UPDATE sys_menu SET `menu_bg`='/online-help/proxy/https_redirect_policy' WHERE (`id`='912'); +UPDATE sys_menu SET `menu_bg`='/online-help/proxy/https_replace_policy' WHERE (`id`='913'); +UPDATE sys_menu SET `menu_bg`='/online-help/proxy/https_monitor_policy' WHERE (`id`='914'); +UPDATE sys_menu SET `menu_bg`='/online-help/proxy/https_whiteList_policy' WHERE (`id`='915'); +UPDATE sys_menu SET `menu_bg`='/online-help/ntc/p2p' WHERE (`id`='991'); +UPDATE sys_menu SET `menu_bg`='/online-help/app/ssl_feature_advance' WHERE (`id`='1001'); +UPDATE sys_menu SET `menu_bg`='/online-help/app/DNS_feature_advance' WHERE (`id`='1086'); +UPDATE sys_menu SET `menu_bg`='/online-help/app/payload_feature_advance' WHERE (`id`='1087'); +UPDATE sys_menu SET `menu_bg`='/online-help/proxy/ip_intercept_policy' WHERE (`id`='1099'); +UPDATE sys_menu SET `menu_bg`='/online-help/ntc/HTTP_URL' WHERE (`id`='1102'); +UPDATE sys_menu SET `menu_bg`='/online-help/ntc/Mail' WHERE (`id`='1140'); +UPDATE sys_menu SET `menu_bg`='/online-help/ntc/HTTP_website' WHERE (`id`='1149'); diff --git a/src/main/webapp/WEB-INF/include/excel/importModal.jsp b/src/main/webapp/WEB-INF/include/excel/importModal.jsp index 018336410..2ffed7570 100644 --- a/src/main/webapp/WEB-INF/include/excel/importModal.jsp +++ b/src/main/webapp/WEB-INF/include/excel/importModal.jsp @@ -104,13 +104,13 @@
    diff --git a/src/main/webapp/WEB-INF/tags/sys/delRow.tag b/src/main/webapp/WEB-INF/tags/sys/delRow.tag index 4c2a7253c..064b9a469 100644 --- a/src/main/webapp/WEB-INF/tags/sys/delRow.tag +++ b/src/main/webapp/WEB-INF/tags/sys/delRow.tag @@ -26,7 +26,7 @@ - + @@ -364,6 +364,11 @@ var checkboxes=$("#${id} ${value} tbody tr td input.i-checks:checkbox"); column.push($(this).text().trim()); } }); + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#exportValue").val() != null && $("#exportValue").val() != ""){ + url+="&"+$("#exportType").val()+"="+$("#exportValue").val(); + } + } if(column){ url+="&columns="+column.toString(); } diff --git a/src/main/webapp/WEB-INF/tlds/fns.tld b/src/main/webapp/WEB-INF/tlds/fns.tld index 1df2c3f4f..aa00376bc 100644 --- a/src/main/webapp/WEB-INF/tlds/fns.tld +++ b/src/main/webapp/WEB-INF/tlds/fns.tld @@ -391,5 +391,13 @@ java.lang.String getHttpBodyKeyword(java.lang.Integer) ${fns:getHttpBodyKeyword(compileId)} + + + 根据compileId获取crl + getTrustedCrlByCerId + com.nis.util.ConfigDictUtils + java.util.List getTrustedCrlByCerId(java.lang.Integer) + ${fns:getTrustedCrlByCerId(cerId)} + diff --git a/src/main/webapp/WEB-INF/views/basics/asnIpCfgList.jsp b/src/main/webapp/WEB-INF/views/basics/asnIpCfgList.jsp index a6c47cae6..8a1b772f1 100644 --- a/src/main/webapp/WEB-INF/views/basics/asnIpCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/basics/asnIpCfgList.jsp @@ -32,6 +32,12 @@ $("#description").attr("value",''); $("#searchForm")[0].reset(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); var edit=function(url){ var cked = $('tbody tr td input.i-checks:checkbox:checked'); @@ -84,6 +90,8 @@ + + - + <%--
    diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appDomainCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appDomainCfgList.jsp index b126fa49a..40dd311b3 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appDomainCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appDomainCfgList.jsp @@ -40,6 +40,12 @@ $("#specServiceIdName").val(""); $("#specServiceIdName").attr("placeholder",''); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -85,6 +91,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appHttpCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appHttpCfgList.jsp index 256eea995..2a4b37169 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appHttpCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appHttpCfgList.jsp @@ -40,6 +40,13 @@ $("#specServiceIdName").val(""); $("#specServiceIdName").attr("placeholder",''); }); + + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -85,6 +92,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appIpCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appIpCfgList.jsp index bbb2bc8fa..33792c827 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appIpCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appIpCfgList.jsp @@ -43,6 +43,12 @@ $("#specServiceIdName").attr("placeholder",''); }); + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } + }); @@ -88,6 +94,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appMultiFeatureCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appMultiFeatureCfgList.jsp index 6258a8be6..cf473fdee 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appMultiFeatureCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appMultiFeatureCfgList.jsp @@ -12,6 +12,12 @@ $("#intype").val("${cfg.cfgDesc}"); }else if("${cfg.compileId}"){ $("#intype").val("${cfg.compileId}"); + }else if("${cfg.ipCfg.destIpAddress}"){ + $("#intype").val("${cfg.ipCfg.destIpAddress}"); + }else if("${cfg.strCfg.cfgKeywords}"){ + $("#intype").val("${cfg.strCfg.cfgKeywords}"); + }else if("${cfg.complexStrCfg.cfgKeywords}"){ + $("#intype").val("${cfg.complexStrCfg.cfgKeywords}"); }else{ $("#intype").attr("placeholder"," "+$("#seltype").find("option:selected").text()); } @@ -84,6 +90,12 @@ $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -119,7 +131,11 @@ + + + + @@ -152,6 +168,15 @@ + + + + + + + + + @@ -176,7 +201,7 @@ - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appPolicyCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appPolicyCfgList.jsp index 941d639af..5aa05a071 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appPolicyCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appPolicyCfgList.jsp @@ -87,6 +87,12 @@ $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -132,6 +138,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appSslCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appSslCfgList.jsp index 5fb8d6036..bcdd596c4 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appSslCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appSslCfgList.jsp @@ -40,6 +40,12 @@ $("#specServiceIdName").val(""); $("#specServiceIdName").attr("placeholder",''); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -68,6 +74,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appTopicDomainCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appTopicDomainCfgList.jsp index dd73e49b3..96d5a0d5b 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appTopicDomainCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appTopicDomainCfgList.jsp @@ -37,6 +37,13 @@ $("#searchForm")[0].reset(); $("#intype").attr("placeholder"," "+$("#seltype").find("option:selected").text()); }); + + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -65,6 +72,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlList.jsp b/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlList.jsp index 81c643529..e47b07d13 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/contUrl/contUrlList.jsp @@ -28,6 +28,8 @@ $("#intype").val("${cfg.ipPort.srcIpAddress}"); }else if("${cfg.ipPort.destIpAddress}"){ $("#intype").val("${cfg.ipPort.destIpAddress}"); + }else if("${cfg.avContUrlCfg.cfgKeywords}"){ + $("#intype").val("${cfg.avContUrlCfg.cfgKeywords}"); }else{ $("#intype").attr("placeholder"," "+$("#seltype").find("option:selected").text()); } @@ -97,6 +99,13 @@ $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); }); + + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -141,6 +150,8 @@ + + - <%-- --%> + @@ -202,7 +213,7 @@ - + <%-- --%> diff --git a/src/main/webapp/WEB-INF/views/cfg/av/fileSampleList.jsp b/src/main/webapp/WEB-INF/views/cfg/av/fileSampleList.jsp index 748de22bd..022b8b510 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/fileSampleList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/fileSampleList.jsp @@ -32,6 +32,12 @@ $("#level").attr("value",''); $("#searchForm")[0].reset(); }); + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } + }); var edit=function(url){ var cked = $('tbody tr td input.i-checks:checkbox:checked'); @@ -71,6 +77,8 @@ + + -<%-- +<%-- --%>
    diff --git a/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp b/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp index a9a08e8ea..6a661891b 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp @@ -205,7 +205,7 @@ - + <%-- --%> diff --git a/src/main/webapp/WEB-INF/views/cfg/basicprotocol/list.jsp b/src/main/webapp/WEB-INF/views/cfg/basicprotocol/list.jsp index 5c0ebd2b3..4ca66c0c5 100644 --- a/src/main/webapp/WEB-INF/views/cfg/basicprotocol/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/basicprotocol/list.jsp @@ -87,6 +87,12 @@ $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -135,6 +141,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/common/ipList.jsp b/src/main/webapp/WEB-INF/views/cfg/common/ipList.jsp index e799ee998..86f28fe33 100644 --- a/src/main/webapp/WEB-INF/views/cfg/common/ipList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/common/ipList.jsp @@ -37,6 +37,12 @@ $(".Wdate").attr("value",''); $("#searchForm")[0].reset(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -127,6 +133,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgList.jsp index da5c5a348..c9cff494f 100644 --- a/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgList.jsp @@ -38,6 +38,11 @@ $("#description").attr("value",''); $("#searchForm")[0].reset(); }); + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); var edit=function(url){ var cked = $('tbody tr td input.i-checks:checkbox:checked'); @@ -95,6 +100,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgForm.jsp b/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgForm.jsp index acfccc96c..64569672d 100644 --- a/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgForm.jsp @@ -199,7 +199,7 @@ $(function(){
    - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgList.jsp index 1db8c9d14..333ee5765 100644 --- a/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgList.jsp @@ -35,6 +35,13 @@ $("#searchForm")[0].reset(); $("#intype").attr("placeholder"," "+$("#seltype").find("option:selected").text()); }); + + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); var edit=function(url){ var cked = $('tbody tr td input.i-checks:checkbox:checked'); @@ -92,6 +99,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/encryptedtunnelbehav/list.jsp b/src/main/webapp/WEB-INF/views/cfg/encryptedtunnelbehav/list.jsp index 3ceacf3ae..62c4b899c 100644 --- a/src/main/webapp/WEB-INF/views/cfg/encryptedtunnelbehav/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/encryptedtunnelbehav/list.jsp @@ -87,6 +87,12 @@ $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -132,6 +138,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/fileDigestList.jsp b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/fileDigestList.jsp index 93e7ba11e..0f89ffc4f 100644 --- a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/fileDigestList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/fileDigestList.jsp @@ -81,6 +81,12 @@ $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -108,6 +114,8 @@ + + -<%-- +<%-- --%>
    diff --git a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/ftpList.jsp b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/ftpList.jsp index 37b0a96ee..7ac7fd420 100644 --- a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/ftpList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/ftpList.jsp @@ -86,6 +86,12 @@ $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -117,6 +123,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/p2pList.jsp b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/p2pList.jsp index 1390d67d3..37e3be86d 100644 --- a/src/main/webapp/WEB-INF/views/cfg/fileTransfer/p2pList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/fileTransfer/p2pList.jsp @@ -86,6 +86,12 @@ $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -131,6 +137,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/intercept/interceptForm.jsp b/src/main/webapp/WEB-INF/views/cfg/intercept/interceptForm.jsp index 8d4155553..49db32aaa 100644 --- a/src/main/webapp/WEB-INF/views/cfg/intercept/interceptForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/intercept/interceptForm.jsp @@ -35,6 +35,10 @@ $("#cfgFrom").validate( { errorPlacement : function(error, element) { + $(element).parents(".form-group").find( + "div[for='" + + element.attr("name") + + "']").html(""); $(element).parents(".form-group").find( "div[for='" + element.attr("name") @@ -210,6 +214,12 @@ flag=true; } } + if(!flag){ + $("div[for='"+prefixName+"cfgKeywords']").html(""); + $("div[for='"+prefixName+"cfgKeywords']").html(""); + }else{ + $("div[for='"+prefixName+"cfgKeywords']").html(""); + } }); } }else{ @@ -218,11 +228,6 @@ }else{ flag=true; } - if(!flag){ - $(".monitAction").find("div[for='userRegion1']").html(""); - }else{ - $(".monitAction").find("div[for='userRegion1']").html(""); - } return flag; } diff --git a/src/main/webapp/WEB-INF/views/cfg/intercept/interceptList.jsp b/src/main/webapp/WEB-INF/views/cfg/intercept/interceptList.jsp index 691e9abdb..5b3727e8e 100644 --- a/src/main/webapp/WEB-INF/views/cfg/intercept/interceptList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/intercept/interceptList.jsp @@ -84,6 +84,12 @@ $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -137,6 +143,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/crlForm.jsp b/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/crlForm.jsp new file mode 100644 index 000000000..6a1aa2235 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/crlForm.jsp @@ -0,0 +1,144 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> +< + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/form.jsp b/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/form.jsp index fad668328..d4d388f9e 100644 --- a/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/form.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/form.jsp @@ -322,7 +322,7 @@ function privateFileValidate(){
    - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/list.jsp b/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/list.jsp index 74ff9251d..80e6e2fac 100644 --- a/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/list.jsp @@ -31,6 +31,12 @@ $("#searchForm")[0].reset(); $("#intype").attr("placeholder"," "+$("#seltype").find("option:selected").text()); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -58,6 +64,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/trustedCertForm.jsp b/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/trustedCertForm.jsp new file mode 100644 index 000000000..8eb3e5b5f --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/trustedCertForm.jsp @@ -0,0 +1,209 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + +<spring:message code="${cfgName}"></spring:message> + + + + +
    +

    + +

    +
    +
    +
    +
    +
    + + + +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    +
    +
    +
    + +
    + +
    + " + class="required form-control" + style="background-color: transparent" aria-required="true" + type="text" value="${_cfg.certFile }"> + +
    + +
    + +
    +
    +
    +
    +
    +
    +
    hidden"> +
    + +
    + +
    +
    +
    +
    + <%@include file="/WEB-INF/include/form/basicInfo.jsp" %> +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/trustedCertList.jsp b/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/trustedCertList.jsp new file mode 100644 index 000000000..80eb14637 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cfg/intercept/strateagy/trustedCertList.jsp @@ -0,0 +1,522 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + +<spring:message code="${cfgName}"></spring:message> + + + + +
    + + +

    + +

    + +
    +
    +
    +
    + + + + + + + + + +
    +
    + + + + + + + <%-- --%> + +
    + +
    + +
    +
    + + + + <%-- --%> + + + +
    + + +
    + + + + + + + + + + + +
    +
    +
    +
    + + + +
    +
    + + + + <%-- --%> + + +
    + + +
    +
    + href="javascript:;"> + + +
    +
    + + + +
    +
    + +
    + +
    + + + + + + + + +
    + +
    + +
    + +
    + + + + + + + +
    + +
    + +
    + +
    + + + + + + + + +
    + +
    + +
    + +
    + + + + + + + +
    + +
    + +
    + +
    +
    +
    + + +
    +
    + +
    +
    + + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
    +
    + +
    +
    + + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
    +
    + +
    +
    + + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
    +
    + +
    +
    + + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
    +
    + +
    +
    + + " onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> + +
    +
    +
    + + +
    + + +
    +
    + +
    + + + + + + <%-- --%> + + + + + + + <%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- --%> + + + + + + + + + + + + +
    + + + + ${cfg.compileId } + + ${cfg.cfgDesc } + + ${fn:substring(cfg.certFile,0,20) } + + + + ${fn:substring(cfg.issuer,0,20) } + + + <%-- --%> + + + + + + ${fn:substring(crlFile,0,20) } + + + + + + + + + ${cfg.requestName } + + + + + + + + + + + + + + + ${fns:abbr(classify,20)} + + + + + + + + + + + + + + + + + ${fns:abbr(attribute,20)} + + + + + + + + + + + + + + + + + ${fns:abbr(lableInfo,20)} + + ${cfg.areaEffectiveIds } + + + + ${cfg.creatorName }${cfg.editorName }${cfg.auditorName }
    +
    ${page}
    +
    +
    +
    +
    +
    + + +<%@include file="/WEB-INF/views/cfg/intercept/strateagy/crlForm.jsp" %> + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipList.jsp b/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipList.jsp index 6a6e86625..21d3d9fe0 100644 --- a/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/ipaddr/ipList.jsp @@ -82,6 +82,12 @@ $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -127,6 +133,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/mail/mailList.jsp b/src/main/webapp/WEB-INF/views/cfg/mail/mailList.jsp index 295494a08..acda8f46f 100644 --- a/src/main/webapp/WEB-INF/views/cfg/mail/mailList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/mail/mailList.jsp @@ -85,6 +85,12 @@ $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -130,6 +136,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/maintenance/dnsResStrategy/list.jsp b/src/main/webapp/WEB-INF/views/cfg/maintenance/dnsResStrategy/list.jsp index d701a8c6f..023a9bf74 100644 --- a/src/main/webapp/WEB-INF/views/cfg/maintenance/dnsResStrategy/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/maintenance/dnsResStrategy/list.jsp @@ -34,6 +34,12 @@ $("#intype").attr("placeholder"," "+$("#seltype").find("option:selected").text()); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -78,6 +84,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/list.jsp b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/list.jsp index cfb2d4737..977418489 100644 --- a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/list.jsp @@ -34,6 +34,12 @@ $("#description").attr("value",''); $("#searchForm")[0].reset(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -61,6 +67,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist.jsp b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist.jsp index bf2681ac2..9b0b2b797 100644 --- a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatlist.jsp @@ -34,6 +34,13 @@ $("#description").attr("value",''); $("#searchForm")[0].reset(); }); + + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -78,6 +85,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyList.jsp b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyList.jsp index a8dfce3d9..82b8874b6 100644 --- a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/dnatPolicyList.jsp @@ -36,6 +36,11 @@ $("#searchForm")[0].reset(); }); + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -64,6 +69,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyList.jsp b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyList.jsp index e2f9558ce..bd2c7a0ea 100644 --- a/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/manipulation/ipmulitiplex/snatPolicyList.jsp @@ -36,6 +36,11 @@ $("#searchForm")[0].reset(); }); + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -64,6 +69,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/other/bgpList.jsp b/src/main/webapp/WEB-INF/views/cfg/other/bgpList.jsp index e6abc9a97..4b725b5dd 100644 --- a/src/main/webapp/WEB-INF/views/cfg/other/bgpList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/other/bgpList.jsp @@ -85,6 +85,12 @@ $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -131,6 +137,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp b/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp index 40ac79e4e..88c9bf5d8 100644 --- a/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp @@ -15,6 +15,8 @@ $("#intype").val("${cfg.ipPort.srcIpAddress}"); }else if("${cfg.ipPort.destIpAddress}"){ $("#intype").val("${cfg.ipPort.destIpAddress}"); + }else if("${cfg.httpUrl.cfgKeywords}"){ + $("#intype").val("${cfg.httpUrl.cfgKeywords}"); }else if("${cfg.httpReqHdr.cfgKeywords}"){ $("#intype").val("${cfg.httpReqHdr.cfgKeywords}"); }else if("${cfg.httpResHdr.cfgKeywords}"){ @@ -94,6 +96,12 @@ $("#serviceId").val($(this).attr("serviceId")); $("#protocolId").val($(this).attr("protocolId")); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); //导入文件提示框 /* function toImport(cfgRegionCode,cfgType){ @@ -305,6 +313,8 @@ + + + @@ -374,7 +385,7 @@ - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/website/dnsList.jsp b/src/main/webapp/WEB-INF/views/cfg/website/dnsList.jsp index ad72fbdf4..a8430181b 100644 --- a/src/main/webapp/WEB-INF/views/cfg/website/dnsList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/website/dnsList.jsp @@ -84,6 +84,12 @@ $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -129,6 +135,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/website/httpList.jsp b/src/main/webapp/WEB-INF/views/cfg/website/httpList.jsp index 4d509c87b..092294541 100644 --- a/src/main/webapp/WEB-INF/views/cfg/website/httpList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/website/httpList.jsp @@ -94,6 +94,12 @@ $("#serviceId").val($(this).attr("serviceId")); $("#protocolId").val($(this).attr("protocolId")); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); //导入文件提示框 /* function toImport(cfgRegionCode,cfgType){ @@ -280,6 +286,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/website/sslList.jsp b/src/main/webapp/WEB-INF/views/cfg/website/sslList.jsp index 113700a08..865d55072 100644 --- a/src/main/webapp/WEB-INF/views/cfg/website/sslList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/website/sslList.jsp @@ -83,7 +83,13 @@ $("#"+closeId).hide(); $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); - }); + }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -128,6 +134,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/whitelist/domainList.jsp b/src/main/webapp/WEB-INF/views/cfg/whitelist/domainList.jsp index a101d8b01..4fbb7b1f7 100644 --- a/src/main/webapp/WEB-INF/views/cfg/whitelist/domainList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/whitelist/domainList.jsp @@ -11,6 +11,8 @@ $("#intype").val("${cfg.cfgDesc}"); }else if("${cfg.compileId}"){ $("#intype").val("${cfg.compileId}"); + }else if("${cfg.httpUrl.cfgKeywords}"){ + $("#intype").val("${cfg.httpUrl.cfgKeywords}"); }else{ $("#intype").attr("placeholder"," "+$("#seltype").find("option:selected").text()); } @@ -78,6 +80,12 @@ $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -109,6 +117,8 @@ + + + @@ -167,7 +178,7 @@ - +
    diff --git a/src/main/webapp/WEB-INF/views/cfg/whitelist/ipList.jsp b/src/main/webapp/WEB-INF/views/cfg/whitelist/ipList.jsp index f221b707a..3d09922ab 100644 --- a/src/main/webapp/WEB-INF/views/cfg/whitelist/ipList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/whitelist/ipList.jsp @@ -81,7 +81,13 @@ $("#"+closeId).hide(); $("#"+openId).show(); $("#"+closeId).parent().parent().next("tr").hide(); - }); + }); + + if($("#exportType").val() != null && $("#exportType").val() != ""){ + if($("#intype").val() != null && $("#intype").val() != ""){ + $("#exportValue").val($("#intype").val()); + } + } }); @@ -126,6 +132,8 @@ + + - +
    diff --git a/src/main/webapp/WEB-INF/views/dashboard/dashBoardIndex.jsp b/src/main/webapp/WEB-INF/views/dashboard/dashBoardIndex.jsp index e97b09ddc..789f0df25 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/dashBoardIndex.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/dashBoardIndex.jsp @@ -421,7 +421,7 @@ function ajaxinfo(){ url:'${ctx}/dashboard/traffic/info', type : "get" , dataType:'json', - cache:false,async:true, + cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时 success:function (data){ var loopConnNum =loopConnNum= data.loopConnNum; var rejectNum =data.rejectNum; @@ -547,16 +547,19 @@ function protocolList(){ url: '${ctx}/dashboard/protocol', type : "get" , dataType:"json", - cache:false,async:true, + cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时 success:function (rs) { if(rs!=null&&rs.length>0&&rs[0].error!=null){ top.$.jBox.tip("", ""); return; }else{ echart_1(rs); - closeTip(); } - }, + closeTip(); + }, + complete:function(XMLHttpRequest,status){//超时设置 + closeTip(); + } }); } @@ -567,16 +570,19 @@ function ipActiveList(){ url: '${ctx}/dashboard/ipActive', type : "get" , dataType:"json", - cache:false,async:true, + cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时 success:function (rs) { if(rs!=null&&rs.length>0&&rs[0].error!=null){ top.$.jBox.tip("", ""); return; }else{ echart_main(rs); - closeTip(); } - }, + closeTip(); + }, + complete:function(XMLHttpRequest,status){//超时设置 + closeTip(); + } }); } @@ -587,7 +593,7 @@ function portActiveList(){ url: '${ctx}/dashboard/portActive', type : "get" , dataType:"json", - cache:false,async:true, + cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时 beforeSend: function () { var msg = "Reloading..."; @@ -632,7 +638,10 @@ function portActiveList(){ } } closeTip(); - }, + }, + complete:function(XMLHttpRequest,status){//超时设置 + closeTip(); + } }); } @@ -643,16 +652,19 @@ function appTypeList(){ url: '${ctx}/dashboard/app', type : "get" , dataType:"json", - cache:false,async:true, + cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时 success:function (rs) { if(rs!=null&&rs.length>0&&rs[0].error!=null){ top.$.jBox.tip("", ""); return; }else{ echart_3(rs); - closeTip(); } - }, + closeTip(); + }, + complete:function(XMLHttpRequest,status){//超时设置 + closeTip(); + } }); } @@ -663,7 +675,7 @@ function systemList(){ url: '${ctx}/dashboard/osList', type : "get" , dataType:"json", - cache:false,async:true, + cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时 beforeSend: function () { var msg = "Reloading..."; @@ -709,9 +721,12 @@ function systemList(){ } //终端图-操作系统 echart_2(rs.reverse()); - closeTip(); } - }, + closeTip(); + }, + complete:function(XMLHttpRequest,status){//超时设置 + closeTip(); + } }); } // 点击操作系统列表右侧显示 浏览器图 @@ -726,11 +741,14 @@ function osClick(osType,obj){ type : "get" , data:{"osType":osType}, dataType:"json", - cache:false,async:true, + cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时 success:function (rs) { echart_5(rs.reverse()); closeTip(); - }, + }, + complete:function(XMLHttpRequest,status){//超时设置 + closeTip(); + } }); } //点击浏览器列表右侧显示 操作系统图 @@ -743,11 +761,14 @@ function bsClick(bsType,obj){ type : "get" , data:{"bsType":bsType}, dataType:"json", - cache:false,async:true, + cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时 success:function (rs) { echart_2(rs.reverse()); closeTip(); - }, + }, + complete:function(XMLHttpRequest,status){//超时设置 + closeTip(); + } }); } @@ -759,7 +780,7 @@ function browserList() { url: '${ctx}/dashboard/bsList', type : "get" , dataType:"json", - cache:false,async:true, + cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时 beforeSend: function () { var msg = "Reloading..."; @@ -805,9 +826,12 @@ function browserList() { } //终端图-浏览器 echart_5(rs.reverse()); - closeTip(); } - }, + closeTip(); + }, + complete:function(XMLHttpRequest,status){//超时设置 + closeTip(); + } }); } @@ -818,7 +842,7 @@ function websiteList() { url: '${ctx}/dashboard/websiteList', type : "get" , dataType:"json", - cache:false,async:true, + cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时 beforeSend: function () { var msg = "ReLoading..."; var trLen = $("#tbodyData2 tr").length; @@ -861,9 +885,12 @@ function websiteList() { } //网站统计图 echart_4(rs.reverse()); - closeTip(); } - }, + closeTip(); + }, + complete:function(XMLHttpRequest,status){//超时设置 + closeTip(); + } }); } //点击http网站列表-显示域名图 @@ -878,11 +905,14 @@ function webClick(websiteServiceId,obj){ type : "get" , data:{"websiteServiceId":websiteServiceId}, dataType:"json", - cache:false,async:true, + cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时 success:function (rs) { echart_6(rs); closeTip(); - }, + }, + complete:function(XMLHttpRequest,status){//超时设置 + closeTip(); + } }); } //网站主题 @@ -892,12 +922,15 @@ function topicAndDomainList(){ url: '${ctx}/dashboard/topicAndDomainList', type : "get" , dataType:"json", - cache:false,async:true, + cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时 success:function (rs) { //主题域名流量统计图 echart_topic_domain(rs); closeTip(); - }, + }, + complete:function(XMLHttpRequest,status){//超时设置 + closeTip(); + } }); } diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficUserBehavior.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficUserBehavior.jsp index 9ccfa3329..016663c33 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficUserBehavior.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficUserBehavior.jsp @@ -127,10 +127,10 @@
    - --%>

    @@ -139,31 +139,14 @@
    - -
    + <%--

    - - - - - - - - - - - - - - - - -
    ${data.account}
    +
      
    @@ -199,7 +182,7 @@
    -
    +
    --%>
    @@ -218,22 +201,6 @@
    -
    - - - - ${acc.account} - - -
    -
    - - - - ${nIp.nasIp} - - -
    @@ -252,6 +219,22 @@ value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
    +
    + + + + ${acc.account} + + +
    +
    + + + + ${nIp.nasIp} + + +
    @@ -266,14 +249,13 @@
    -
    -
    -
    -
    -
    +
    +
    +
    +<%--
    --%> - + <%--
    @@ -291,21 +273,35 @@ + +
    --%> + + + + + + + + + + + + +
    ${data.account}
    - +
      
    -
    -
    -
    +
    +
    -
    +
    : ${searchAccount}
    @@ -326,10 +322,10 @@
    - ${us.reportTime} + : ">${us.reportTime}
    -
    +
    ${us.nasIp}
    @@ -354,14 +350,14 @@
    -
    -
    -
    -
    +
    +
    +
    +<%--
    --%>
    - + <%--
    @@ -379,9 +375,25 @@ + +
    --%> + + + + + + + + + + + + + +
    ${data.nasIp}
    - +
      
    @@ -390,10 +402,10 @@
    -
    -
    +
    +
    -
    +
    : ${searchNasIp}
    @@ -414,10 +426,12 @@
    - ${it.reportTime} + : ">${it.reportTime} + +
    -
    +
    ${it.account}
    diff --git a/src/main/webapp/WEB-INF/views/help.jsp b/src/main/webapp/WEB-INF/views/help.jsp new file mode 100644 index 000000000..9bdeaa1c3 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/help.jsp @@ -0,0 +1,79 @@ +<%@ page contentType="text/html;charset=UTF-8" %> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + + + + + + + + + +
    +

    + +

    +
    +
    +
    + +
    +
    + +
    + + +
    +
    +
    + + + + + diff --git a/src/main/webapp/WEB-INF/views/home.jsp b/src/main/webapp/WEB-INF/views/home.jsp index 7ebb19695..6c549a909 100644 --- a/src/main/webapp/WEB-INF/views/home.jsp +++ b/src/main/webapp/WEB-INF/views/home.jsp @@ -111,9 +111,9 @@ function page_turn(id, functionId,level, name, url,obj){ // }else{ App.startPageLoading({animate:true}); // } - if(url.search("/nis/dashboard/")!=-1){ - $('.page-sidebar .sidebar-toggler').click(); - } +// if(url.search("/nis/dashboard/")!=-1){ +// $('.page-sidebar .sidebar-toggler').click(); +// } //调入页面 if(url.indexOf("?")>0){ @@ -222,6 +222,13 @@ function refreshCache(cacheName){ overflow-y: auto; overflow-x: hidden; } +#helpHref{ +padding:16px 6px 13px 8px; +color:#c5c5c5 +} +#helpHref:hover{ +background:#3d3d3d; +} @@ -313,7 +320,7 @@ function refreshCache(cacheName){ - + + +
    - [:[:${configStatisticTime }] + [:${configStatisticTime }] diff --git a/src/main/webapp/WEB-INF/views/log/ntc/collectVoipList.jsp b/src/main/webapp/WEB-INF/views/log/ntc/collectVoipList.jsp new file mode 100644 index 000000000..8f2f93165 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/log/ntc/collectVoipList.jsp @@ -0,0 +1,221 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + + + + + + +
    + +

    + +

    + + +
    +
    +
    +
    + + + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + + + +
    + + +
    + + +
    +
    +
    +
    + + + + + + + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ContactsViaRouteRecord RouteUser AgentServer
    + + ${log.pid }${fns:abbr(log.capIp, 42)}${log.voipProtocol }${log.rtpDIp }${log.rtpSIp }${log.rtpDPort }${log.rtpSPort }${log.fromToStoreIp }${log.fromToStoreUrl }${log.toFromStoreIp }${log.toFromStoreUrl }${log.duation }${log.sipDIp }${log.sipSIp }${log.sipDPort }${log.sipSPort }${log.callId }${log.requestUri }${log.callingAccount }${log.calledAccount }${log.contacts }${log.via }${log.route }${log.recordRoute }${log.userAgent }${log.server }
    +
    ${page}
    +
    +
    +
    +
    +
    + + diff --git a/src/main/webapp/online-help/app/DNS_feature_advance.html b/src/main/webapp/online-help/app/DNS_feature_advance.html new file mode 100644 index 000000000..9e1c2f7fe --- /dev/null +++ b/src/main/webapp/online-help/app/DNS_feature_advance.html @@ -0,0 +1,158 @@ + + + + + + + + + + + online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 用户自定义DNS协议特征,为特定应用添加DNS协议的特征。 +
    +
    +
    +
    + +
    +
    +
      +
    • 社交应用:用户选择APP。
    • +
    • 配置描述:用户自定义该条配置的描述信息。
    • +
    +
    +
    +
    +
    + +
    +
    +
      + +
    • 匹配区域:只支持DNS_NAME。
    • +
    • 关键字:添加1个DNS请求域名(只能添加1个),最长1024个字符。
    • +
    • 匹配方式:包含子串匹配、左匹配、有匹配和完全匹配。
    • +
    • 是否十六进制:若关键字填写十六进制格式的DNS请求域名,选择十六进制,否则为非十六进制。
    • +
    • 表达式类型:分为“无表达式”和“与表达式”,“无表达式”可以和任意一种匹配方式组合使用,“与表达式”只能和子串匹配组合使用。
    • + +
    +
    +
    +
    +
    + +
    +
    +
      + 将该DNS特征添加给了指定的APP,如用户产生具有该特征的数据,会有如下效果。 +
    • 若用户下发该APP阻断配置,该DNS被阻断,若用户选择生成日志,会有该APP的阻断日志。
    • +
    • 若用户下发该APP监视配置,DNS请求正常工作,若用户选择生成日志,会有该APP的监视日志。
    • +
    • 若用户下发该APP限速配置,户会感知DNS响应变差,若用户选择生成日志,会有该APP的限速日志。
    • +
    +
    +
    +
    + + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/app/HTTP_feature_advance.html b/src/main/webapp/online-help/app/HTTP_feature_advance.html new file mode 100644 index 000000000..66340bb12 --- /dev/null +++ b/src/main/webapp/online-help/app/HTTP_feature_advance.html @@ -0,0 +1,171 @@ + + + + + + + + + + + online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 用户自定义HTTP协议特征,为特定应用添加HTTP协议的特征。 +
    +
    +
    +
    + +
    +
    +
      +
    • 社交应用:用户选择APP。
    • +
    • 配置描述:用户自定义该条配置的描述信息。
    • +
    +
    +
    +
    +
    + +
    +
    + APP HTTP特征限制条件: +
      + +
    • 匹配区域:选择具体的HTTP特征,包括请求包的特征和应答包的特征。
    • +
    • 关键字:可填多个关键字,最长1024个字符,用回车键分割。
    • +
    • 匹配方式:包含子串匹配、左匹配、有匹配和完全匹配。
    • +
    • 表达式类型:分为“无表达式”和“与表达式”,“无表达式”可以和任意一种匹配方式组合使用,“与表达式”只能和子串匹配组合使用。
    • +
    • 是否十六进制:若关键字填写十六进制格式的特征,选择十六进制,否则为非十六进制。
    • + + +
    + IP范围特征限制条件: +
      + +
    • IP类型:可选IPV4或IPV6。
    • +
    • IP格式:可选IP、IP范围和IP/子网掩码。
    • +
    • + 目的IP:IP格式选择“IP”,该文本框填合法的单个IP;IP格式选择“IP范围”,IP段只能配置x.x.x.0-x.x.x.255;IP/子网掩码中子网掩码值限制为16-32。 +
    • +
    • 目的端口:端口与端口掩码范围是0-65535。
    • +
    • 协议:可选TCP、UDP、全部。全部表示TCP或UDP。
    • +
    • 可为一个应用添加最多3个APP HTTP特征和1个IP范围特征。当同时满足APP HTTP特征和IP范围特征时,该配置才生效。
    • +
    +
    +
    +
    +
    + +
    +
    +
      + 将该HTTP特征添加给了指定的APP,如用户产生具有该特征的数据,会有如下效果。 +
    • 若用户下发该APP阻断配置,请求该HTTP请求被阻断,若用户选择生成日志,会有该APP的阻断日志。
    • +
    • 若用户下发该APP监视配置,HTTP请求正常工作,若用户选择生成日志,会有该APP的监视日志。
    • +
    • 若用户下发该APP限速配置,户会感知HTTP响应变差,若用户选择生成日志,会有该APP的限速日志。
    • +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/app/IP_feature_advance.html b/src/main/webapp/online-help/app/IP_feature_advance.html new file mode 100644 index 000000000..a8a23f455 --- /dev/null +++ b/src/main/webapp/online-help/app/IP_feature_advance.html @@ -0,0 +1,156 @@ + + + + + + + + + + + online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 用户自定义IP特征,为特定应用添加IP的特征。 +
    +
    +
    +
    + +
    +
    +
      +
    • 社交应用:用户选择APP。
    • +
    • 配置描述:用户自定义该条配置的描述信息。
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • IP类型:可选IPV4或IPV6。
    • +
    • IP格式:可选IP、IP范围和IP/子网掩码。
    • +
    • 目的IP:IP格式选择“IP”,该文本框填合法的单个IP;IP格式选择“IP范围”,IP段只能配置x.x.x.0-x.x.x.255;IP/子网掩码中子网掩码值限制为16-32。
    • +
    • 目的端口:端口与端口掩码范围是0-65535。
    • +
    • 协议:可选TCP、UDP、全部。全部表示TCP或UDP。
    • +
    +
    +
    +
    +
    + +
    +
    +
      + 将该IP特征添加给了指定的APP,并产生了该特征的数据流量,有如下效果。 +
    • 若用户下发该APP阻断配置,无法连接到该IP地址;
    • +
    • 若用户下发该APP监视配置,IP请求正常工作,若用户选择生成日志,会有该APP的监视日志。
    • +
    • 若用户下发该APP限速配置,户会感知响应变差,若用户选择生成日志,会有该APP的限速日志。
    • +
    +
    +
    +
    + + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/app/app.html b/src/main/webapp/online-help/app/app.html new file mode 100644 index 000000000..186383831 --- /dev/null +++ b/src/main/webapp/online-help/app/app.html @@ -0,0 +1,201 @@ + + + + + + + + + + + online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + APP的识别和管控,配置指定APP的封堵、监视、限速功能界面。 +
    +
    +
    +
    + +
    +
    + +
      +
    • 配置描述:用户自定义该条配置的描述信息。
    • +
    • 是否记录日志:是否生成日志信息。
    • +
    • 社交应用:选择管控的应用。
    • +
    • 行为类型:选择管控具体行为类型。可选项,不选则对该应用的所有行为进行管控。
    • +
    • 执行动作:APP有3种管控动作:阻断、监视和限速。若选择监视,用户需指定客户端IP。若选择限速,用户需指定限速比例。
    • +
    +
    +
    +
    +
    + +
    +
    + IP类配置,当执行动作选择“监视”,必须填写对应的IP配置。 +
      +
    • IP类型:IPV4或IPV6。
    • +
    • 协议:可选TCP、UDP和全部。
    • +
    • IP格式:可选IP、IP范围和IP/子网掩码。
    • +
    • + 源IP:IP格式选择“IP”,该文本框填合法的单IP;IP格式选择“IP范围”,IP段只能配置x.x.x.0-x.x.x.255;IP/子网掩码中子网掩码值限制为16-32。 +
    • +
    • 源端口:端口与端口掩码范围是0-65535。
    • +
    • 目的IP:限制同源IP。
    • +
    • 目的端口:端口与端口掩码范围是0-65535。
    • +
    • 另:源IP与目的IP不能相同
    • +
    +
    +
    +
    +
    + +
    +
    + 配置生效范围,分为“全部”和“选择区域”。“全部”指所有地区;“选择区域”需选择区域和运营商,并且可以同时选择多个区域和多个运营商,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效。 +
    +
    +
    + +
    + +
    +
    +
      +
    • 来函:选择来函文件类型,必选项;
    • +
    • 类型:指明该配置的类型,可同时选多个,比如信息内容安全、网络攻击等,非必选项;
    • +
    • 性质:指明该配置的性质,可同时选多个,比如政治事务、暴力恐怖等,非必选项;
    • +
    • 用户标签:用户自定义标签,可同时选多个,非必选项;
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 执行动作选择“阻断”,未选择行为类型,该APP全部功能无法正常使用;如果选择了行为类型,该APP的对应行为无法正常使用;
    • +
    • 执行动作选择“监视”,该APP被正常使用。
    • +
    • 执行动作选择“限速”,户会感知网速变差,当限速比例高达**时,APP出现无法使用的情况。
    • +
    • 若指定了客户端IP,该配置只对该用户生效,其他用户不受影响。
    • +
    • 若选择了记录日志,日志界面出现该配置的日志。
    • +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/app/basic_protocol.html b/src/main/webapp/online-help/app/basic_protocol.html new file mode 100644 index 000000000..51f293739 --- /dev/null +++ b/src/main/webapp/online-help/app/basic_protocol.html @@ -0,0 +1,198 @@ + + + + + + + + + + + online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 基础协议的识别和管控,配置指定协议的封堵、监视界面。 +
    +
    +
    +
    + +
    +
    +
      +
    • 配置描述:用户自定义该条配置的描述信息。
    • +
    • 是否记录日志:是否生成日志信息。
    • +
    • 基础协议:选择管控的协议。
    • +
    • 执行动作:基础协议有两种管控动作:阻断、监视。若选择监视,用户需指定客户端IP相关信息。
    • +
    +
    +
    +
    +
    + +
    +
    + IP类配置,当执行动作选择“监视”,必须填写对应的IP配置。 +
      +
    • IP类型:IPV4或IPV6。
    • +
    • 协议:可选TCP、UDP和全部。
    • +
    • IP格式:可选IP、IP范围和IP/子网掩码。
    • +
    • + 源IP:IP格式选择“IP”,该文本框填合法的单IP;IP格式选择“IP范围”,IP段只能配置x.x.x.0-x.x.x.255;IP/子网掩码中子网掩码值限制为16-32。 +
    • +
    • 源端口:端口与端口掩码范围是0-65535。
    • +
    • 目的IP:限制同源IP。
    • +
    • 目的端口:端口与端口掩码范围是0-65535。
    • +
    • 另:源IP与目的IP不能相同
    • +
    +
    +
    +
    +
    + +
    +
    + 配置生效范围,分为“全部”和“选择区域”。“全部”指所有地区;“选择区域”需选择区域和运营商,并且可以同时选择多个区域和多个运营商,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效。 +
    +
    +
    + +
    + +
    +
    +
      +
    • 来函:选择来函文件类型,必选项;
    • +
    • 类型:指明该配置的类型,可同时选多个,比如信息内容安全、网络攻击等,非必选项;
    • +
    • 性质:指明该配置的性质,可同时选多个,比如政治事务、暴力恐怖等,非必选项;
    • +
    • 用户标签:用户自定义标签,可同时选多个,非必选项;
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 执行动作选择“阻断”,使用该协议的应用全部无法正常使用;
    • +
    • 执行动作选择“监视”,使用该协议的应用不受影响。
    • +
    • 若指定了客户端IP,该配置只对该用户生效,其他用户不受影响。
    • +
    • 若选择了记录日志,日志界面出现该配置的日志。
    • +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/app/domain_feature_advance.html b/src/main/webapp/online-help/app/domain_feature_advance.html new file mode 100644 index 000000000..708305804 --- /dev/null +++ b/src/main/webapp/online-help/app/domain_feature_advance.html @@ -0,0 +1,153 @@ + + + + + + + + + + + online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 用户自定义域名特征,为特定应用添加域名的特征。 +
    +
    +
    +
    + +
    +
    +
      +
    • 社交应用:用户选择APP。
    • +
    • 配置描述:用户自定义该条配置的描述信息。
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 域名:填写正确的域名,最长1024字符。
    • +
    • 匹配方式:包含子串匹配、左匹配、有匹配和完全匹配。
    • +
    • 是否十六进制:若关键字填写十六进制格式的特征,选择十六进制,否则为非十六进制。
    • +
    +
    +
    +
    +
    + +
    +
    +
      + 将该域名特征添加给了指定的APP,如用户产生具有该特征的数据,会有如下效果。 +
    • 若用户下发该APP阻断配置,请求该域名被阻断,若用户选择生成日志,会有该APP的阻断日志。
    • +
    • 若用户下发该APP监视配置,域名请求正常工作,若用户选择生成日志,会有该APP的监视日志。
    • +
    • 若用户下发该APP限速配置,户会感知域名响应变差,若用户选择生成日志,会有该APP的限速日志。
    • +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/app/payload_feature_advance.html b/src/main/webapp/online-help/app/payload_feature_advance.html new file mode 100644 index 000000000..3a5a5d7b2 --- /dev/null +++ b/src/main/webapp/online-help/app/payload_feature_advance.html @@ -0,0 +1,165 @@ + + + + + + + + + + + online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 用户自定义数据包载荷特征,为特定应用添加载荷的特征。 +
    +
    +
    +
    + +
    +
    +
      +
    • 社交应用:用户选择APP。
    • +
    • 配置描述:用户自定义该条配置的描述信息。
    • +
    +
    +
    +
    +
    + +
    +
    + APP载荷类约束条件: +
      +
    • 匹配区域:共7类APP载荷特征,分别是:载荷、C2S载荷、S2C载荷,C2S方向包序列,S2C方向包序列,二层头,三层头。
    • +
    • 关键字:可填多个关键字,最长1024字符,用回车键分割。
    • +
    • 匹配方式:包含子串匹配、左匹配、有匹配和完全匹配。
    • +
    • 表达式类型:分为“无表达式”和“与表达式”,“无表达式”可以和任意一种匹配方式组合使用,“与表达式”只能和子串匹配组合使用。
    • +
    • 是否十六进制:十六进制的
    • +
    + IP类约束条件: +
      +
    • IP类型:可选IPV4或IPV6。
    • +
    • IP格式:可选IP、IP范围和IP/子网掩码。
    • +
    • 目的IP:IP格式选择“IP”,该文本框填合法的单个IP;IP格式选择“IP范围”,IP段只能配置x.x.x.0-x.x.x.255;IP/子网掩码中子网掩码值限制为16-32。
    • +
    • 目的端口:端口与端口掩码范围是0-65535。
    • +
    • 协议:可选TCP、UDP、全部。全部表示TCP或UDP。
    • +
    + 可为一个应用添加最多3个APP载荷特征和1个IP范围特征。当同时满足APP载荷特征和IP范围特征时,该配置才生效。 +
    +
    +
    +
    + +
    +
    +
      + 将该载荷特征添加给了指定的APP,如用户产生具有该载荷特征的数据,会有如下效果。 +
    • 若用户下发该APP阻断配置,具有该载荷特征的数据流被阻断,若用户选择生成日志,会有该APP的阻断日志。;
    • +
    • 若用户下发该APP监视配置,具有该载荷特征的数据正常工作,若用户选择生成日志,会有该APP的监视日志。
    • +
    • 若用户下发该APP限速配置,户会感知响应变差,若用户选择生成日志,会有该APP的限速日志。
    • +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/app/ssl_feature_advance.html b/src/main/webapp/online-help/app/ssl_feature_advance.html new file mode 100644 index 000000000..1bf67bdf5 --- /dev/null +++ b/src/main/webapp/online-help/app/ssl_feature_advance.html @@ -0,0 +1,165 @@ + + + + + + + + + + + online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 用户自定义SSL协议特征,为特定应用添加SSL协议的特征。 +
    +
    +
    +
    + +
    +
    +
      +
    • 社交应用:用户选择APP。
    • +
    • 配置描述:用户自定义该条配置的描述信息。
    • +
    +
    +
    +
    +
    + +
    +
    + APP SSL类约束条件: +
      +
    • 匹配区域:选择具体的SSL特征。
    • +
    • 关键字:可填多个关键字,最长1024字符,用回车键分割。比如匹配区域选择SSL_SNI,关键字填完整的域名,用户需按实际情况填写,可参考抓包工具的数据包解析结果。
    • +
    • 匹配方式:包含子串匹配、左匹配、有匹配和完全匹配。
    • +
    • 是否十六进制:若关键字填写十六进制格式的特征,选择十六进制,否则为非十六进制。
    • +
    + IP类约束条件: +
      +
    • IP类型:可选IPV4或IPV6。 +
    • IP格式:可选IP、IP范围和IP/子网掩码。 +
    • 目的IP:IP格式选择“IP”,该文本框填合法的单个IP;IP格式选择“IP范围”,IP段只能配置x.x.x.0-x.x.x.255;IP/子网掩码中子网掩码值限制为16-32。 +
    • 目的端口:端口与端口掩码范围是0-65535。 +
    • 协议:可选TCP、UDP、全部。全部表示TCP或UDP。 + +
    + 可为一个应用添加最多3个APP SSL特征和1个IP范围特征。当同时满足APP SSL特征和IP范围特征时,该配置才生效。 +
    +
    +
    +
    + +
    +
    +
      + 将该SLL特征添加给了指定的APP,如用户产生具有该特征的数据,会有如下效果。 +
    • 若用户下发该APP阻断配置,具有该特征的数据流被阻断,若用户选择生成日志,会有该APP的阻断日志。
    • +
    • 若用户下发该APP监视配置,具有该特征的数据正常工作,若用户选择生成日志,会有该APP的监视日志。
    • +
    • 若用户下发该APP限速配置,户会感知响应变差,若用户选择生成日志,会有该APP的限速日志。
    • +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/app/tunnel_behavior.html b/src/main/webapp/online-help/app/tunnel_behavior.html new file mode 100644 index 000000000..247684ae8 --- /dev/null +++ b/src/main/webapp/online-help/app/tunnel_behavior.html @@ -0,0 +1,199 @@ + + + + + + + + + + + online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 对用户使用加密隧道的行为进行识别和管控,比如识别用户使用加密隧道进行视频通话的行为。 +
    +
    +
    +
    + +
    +
    +
      +
    • 配置描述:用户自定义该条配置的描述信息。
    • +
    • 是否记录日志:是否生成日志信息。
    • +
    • 加密隧道协议:选择一种加密隧道协议。
    • +
    • 行为类型:包括“视频”和“其他”,视频指实时视频通话,注意,使用youtube播放视频属于“其他”。
    • +
    • 执行动作:加密隧道行为有两种管控动作:阻断、监视。若选择监视,用户需指定客户端相关信息。
    • +
    +
    +
    +
    +
    + +
    +
    + IP类配置,当执行动作选择“监视”,必须填写对应的IP配置。 +
      +
    • IP类型:IPV4或IPV6。
    • +
    • 协议:可选TCP、UDP和全部。
    • +
    • IP格式:可选IP、IP范围和IP/子网掩码。
    • +
    • + 源IP:IP格式选择“IP”,该文本框填合法的单IP;IP格式选择“IP范围”,IP段只能配置x.x.x.0-x.x.x.255;IP/子网掩码中子网掩码值限制为16-32。 +
    • +
    • 源端口:端口与端口掩码范围是0-65535。
    • +
    • 目的IP:限制同源IP。
    • +
    • 目的端口:端口与端口掩码范围是0-65535。
    • +
    • 另:源IP与目的IP不能相同
    • +
    +
    +
    +
    +
    + +
    +
    + 配置生效范围,分为“全部”和“选择区域”。“全部”指所有地区;“选择区域”需选择区域和运营商,并且可以同时选择多个区域和多个运营商,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效。 +
    +
    +
    + +
    + +
    +
    +
      +
    • 来函:选择来函文件类型,必选项;
    • +
    • 类型:指明该配置的类型,可同时选多个,比如信息内容安全、网络攻击等,非必选项;
    • +
    • 性质:指明该配置的性质,可同时选多个,比如政治事务、暴力恐怖等,非必选项;
    • +
    • 用户标签:用户自定义标签,可同时选多个,非必选项;
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 执行动作选择“阻断”,使用该协议的应用全部无法正常使用;若指定了行为,只有该行为无法正常使用。
    • +
    • 执行动作选择“监视”,使用该协议的应用不受影响。
    • +
    • 若指定了客户端IP,该配置只对该用户生效,其他用户不受影响。
    • +
    • 若选择了记录日志,日志界面出现该配置的日志。
    • +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ntc/BGP.html b/src/main/webapp/online-help/ntc/BGP.html new file mode 100644 index 000000000..970494fd8 --- /dev/null +++ b/src/main/webapp/online-help/ntc/BGP.html @@ -0,0 +1,200 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 本页面完成针对BGP流量的配置,从而对包含特定IP或AS特征的BGP流量进行监测或阻断。 +
    +
    +
    +
    + +
    +
    + 配置基础信息包括:规则名称,执行动作,是否记录管控日志。 +
      +
    • 规则名称:用户自定义的该条配置的描述信息。
    • +
    • 执行动作:配置施加于网络传输单元时,对网络流量施加什么样的动作,此处为阻断、监测二选一。
    • +
    • 是否记录日志:对网络流量施加执行动作时,是否记录命中BGP协议配置的流量信息,包括发现时间、IP、AS等。
    • +
    +
    +
    +
    +
    + +
    +
    + BGP协议管控的流量属性信息: +
      +
    • AS:配置自治系统的关键词,精确匹配,非二进制,大小写不敏感。
    • +
    • IP:选择IP类型、协议、IP模式、端口模式,并且填写对应的具体IP与端口值,选择匹配方向是单向还是双向匹配。
    • +
    + +
    +
    +
    +
    + +
    +
    + BGP协议管控配置的属性信息: +
      +
    • 源IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 源端口:端口与端口掩码范围是0-65535。
    • +
    • 目的IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 目的端口:端口与端口掩码范围是0-65535。
    • +
    • 另:源IP与目的IP不能相同。
    • +
    +
    +
    +
    + +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效。 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    + +
    + +
    +
    +
      +
    • 监测预期效果:记录符合配置条件的BGP流量监测日志。 +
    • 阻断预期效果:阻断符合配置条件的BGP流量,并记录阻断日志。 +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ntc/DNS.html b/src/main/webapp/online-help/ntc/DNS.html new file mode 100644 index 000000000..5dfb4a791 --- /dev/null +++ b/src/main/webapp/online-help/ntc/DNS.html @@ -0,0 +1,200 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 本页面完成针对DNS流量的配置,从而对包含特定IP或DNS关键词特征的DNS流量进行监测或阻断。 +
    +
    +
    +
    + +
    +
    + 配置基础信息包括:规则名称,执行动作,是否记录管控日志。 +
      +
    • 规则名称:用户自定义的该条配置的描述信息。
    • +
    • 执行动作:配置施加于网络传输单元时,对网络流量施加什么样的动作,此处为阻断、监测二选一。
    • +
    • 是否记录日志:对网络流量施加执行动作时,是否记录命中DNS协议配置的流量信息,包括发现时间、IP、请求内容等。
    • +
    +
    +
    +
    +
    + +
    +
    + DNS协议管控的流量属性信息: +
      +
    • keyword:DNS关键词。匹配字段选择,例如QNAME;关键字填写;表达式类型选择,支持选择与表达式;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • IP:选择IP类型、协议、IP模式、端口模式,并且填写对应的具体IP与端口值,选择匹配方向是单向还是双向匹配。
    • +
    • Subscribe ID:IP地址对应的用户信息关键字,子串匹配,非二进制,大小写不敏感。
    • +
    + +
    +
    +
    +
    + +
    +
    + DNS协议管控配置的属性信息: +
      +
    • 客户端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 客户端端口:端口与端口掩码范围是0-65535。
    • +
    • 服务端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 服务端端口:端口与端口掩码范围是0-65535。
    • +
    • 另:客户端IP与服务端IP不能相同。
    • +
    +
    +
    +
    + +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效。 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    + +
    + +
    +
    +
      +
    • 监测预期效果:记录符合配置条件的DNS流量监测日志。 +
    • 阻断预期效果:阻断符合配置条件的DNS请求或对符合配置条件的DNS请求抢答欺骗包,并记录阻断日志。 +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ntc/FTP.html b/src/main/webapp/online-help/ntc/FTP.html new file mode 100644 index 000000000..c3e0c9349 --- /dev/null +++ b/src/main/webapp/online-help/ntc/FTP.html @@ -0,0 +1,199 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 本页面完成针对FTP流量的配置,从而对包含特定IP、URL或内容特征的FTP流量进行监测或阻断。 +
    +
    +
    +
    + +
    +
    + 配置基础信息包括:规则名称,执行动作,是否记录管控日志。 +
      +
    • 规则名称:用户自定义的该条配置的描述信息。
    • +
    • 执行动作:配置施加于网络传输单元时,对网络流量施加什么样的动作,此处为阻断、监测二选一。
    • +
    • 是否记录日志:对网络流量施加执行动作时,是否记录命中FTP协议配置的流量信息,包括发现时间、IP、URL等。
    • +
    +
    +
    +
    +
    + +
    +
    + FTP协议扩展管控的流量属性信息: +
      +
    • URL:FTP的URL。关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;非二进制;大小写不敏感。
    • +
    • FTP内容:关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • IP:选择IP类型、协议、IP模式、端口模式,并且填写对应的具体IP与端口值,选择匹配方向是单向还是双向匹配。
    • +
    • Subscribe ID:IP地址对应的用户信息关键字,子串匹配,非二进制,大小写不敏感。
    • +
    +
    +
    +
    +
    + +
    +
    + FTP协议管控配置的属性信息: +
      +
    • 客户端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 客户端端口:端口与端口掩码范围是0-65535。
    • +
    • 服务端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 服务端端口:端口与端口掩码范围是0-65535。
    • +
    • 另:客户端IP与服务端IP不能相同。
    • +
    +
    +
    +
    + +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效。 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 监测预期效果:记录符合配置条件的FTP流量监测日志。 +
    • 阻断预期效果:阻断符合配置条件的FTP访问,即无法获取到该FTP内容,并记录阻断日志。 +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ntc/HTTP_URL.html b/src/main/webapp/online-help/ntc/HTTP_URL.html new file mode 100644 index 000000000..5cae93e8d --- /dev/null +++ b/src/main/webapp/online-help/ntc/HTTP_URL.html @@ -0,0 +1,189 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 本页面完成针对HTTP流量的配置,从而对包含特定URL特征的HTTP流量进行加入白名单、监测或阻断。 +
    +
    +
    +
    + +
    +
    + 配置基础信息包括:规则名称,执行动作。 +
      +
    • 规则名称:用户自定义的该条配置的描述信息。
    • +
    • 执行动作:配置施加于网络传输单元时,对网络流量施加什么样的动作,此处为白名单、阻断、监测三选一。
    • +
    +
    +
    +
    +
    + +
    +
    + HTTP协议管控的流量属性信息: +
      +
    • URL:HTTP统一资源定位符关键词。关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;非二进制;大小写不敏感。
    • +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效。 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 监测预期效果:记录符合配置条件的HTTP流量监测日志。 +
    • 阻断预期效果:阻断符合配置条件的HTTP访问,即访问页面无响应,并记录阻断日志。 +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ntc/HTTP_advanced.html b/src/main/webapp/online-help/ntc/HTTP_advanced.html new file mode 100644 index 000000000..7a7de96f4 --- /dev/null +++ b/src/main/webapp/online-help/ntc/HTTP_advanced.html @@ -0,0 +1,208 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 本页面完成针对HTTP流量的扩展配置,从而对包含特定IP、URL、字段或内容特征的HTTP流量进行监测或阻断。 +
    +
    +
    +
    + +
    +
    + 配置基础信息包括:规则名称,执行动作,是否记录管控日志。 +
      +
    • 规则名称:用户自定义的该条配置的描述信息。
    • +
    • 执行动作:配置施加于网络传输单元时,对网络流量施加什么样的动作,此处为阻断、监测二选一。
    • +
    • 是否记录日志:对网络流量施加执行动作时,是否记录命中HTTP扩展配置的流量信息,包括发现时间、IP、URL、请求头、请求体、响应头、响应体等。
    • +
    +
    +
    +
    +
    + +
    +
    + HTTP协议扩展管控的流量属性信息,分为请求侧与响应侧。 + 请求侧: +
      +
    • URL:关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • 字段:匹配字段选择,例如User Agent、Cookie等;关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • 请求消息体:关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • IP:选择IP类型、协议、IP模式、端口模式,并且填写对应的具体IP与端口值,选择匹配方向是单向还是双向匹配。
    • +
    • Subscribe ID:IP地址对应的用户信息关键字,子串匹配,非二进制,大小写不敏感。
    • +
    + 响应侧: +
      +
    • 响应头域字段:匹配字段选择,例如set-cookie、Content-Type等;关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • 响应消息体:关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • IP:选择IP类型、协议、IP模式、端口模式,并且填写对应的具体IP与端口值,选择匹配方向是单向还是双向匹配。
    • +
    • Subscribe ID:IP地址对应的用户信息关键字,子串匹配,非二进制,大小写不敏感。
    • +
    +
    +
    +
    +
    + +
    +
    + HTTP协议扩展管控配置的属性信息: +
      +
    • 客户端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 客户端端口:端口与端口掩码范围是0-65535。
    • +
    • 服务端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 服务端端口:端口与端口掩码范围是0-65535。
    • +
    • 另:客户端IP与服务端IP不能相同。
    • +
    +
    +
    +
    + +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效。 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 监测预期效果:记录符合配置条件的HTTP流量监测日志。 +
    • 阻断预期效果:阻断符合配置条件的HTTP访问,即访问页面无响应,并记录阻断日志。 +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ntc/HTTP_website.html b/src/main/webapp/online-help/ntc/HTTP_website.html new file mode 100644 index 000000000..9f5da45da --- /dev/null +++ b/src/main/webapp/online-help/ntc/HTTP_website.html @@ -0,0 +1,191 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 本页面完成针对HTTP流量的配置,从而对包含特定网站关键词特征的HTTP流量进行监测或阻断。 +
    +
    +
    +
    + +
    +
    + 配置基础信息包括:规则名称,执行动作,是否记录管控日志。 +
      +
    • 规则名称:用户自定义的该条配置的描述信息。
    • +
    • 执行动作:配置施加于网络传输单元时,对网络流量施加什么样的动作,此处为阻断、监测二选一。
    • +
    • 是否记录日志:对网络流量施加执行动作时,是否记录命中配置的HTTP流量信息,包括发现时间、IP、URL、请求头、请求体、响应头、响应体等。
    • +
    +
    +
    +
    +
    + +
    +
    + HTTP协议网站管控的流量属性信息,分为请求侧与响应侧: +
      +
    • 请求侧消息体关键词:关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • 响应侧消息体关键词:关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效。 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 监测预期效果:记录符合配置条件的HTTP流量监测日志。 +
    • 阻断预期效果:阻断符合配置条件的HTTP访问,即访问页面无响应,并记录阻断日志。 +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ntc/Mail.html b/src/main/webapp/online-help/ntc/Mail.html new file mode 100644 index 000000000..ad362b5d4 --- /dev/null +++ b/src/main/webapp/online-help/ntc/Mail.html @@ -0,0 +1,197 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 本页面完成针对Mail流量的配置,从而对包含特定IP、收发件人特征的Mail流量进行监测或阻断。 +
    +
    +
    +
    + +
    +
    + 配置基础信息包括:规则名称,执行动作,是否记录管控日志。 +
      +
    • 规则名称:用户自定义的该条配置的描述信息。
    • +
    • 执行动作:配置施加于网络传输单元时,对网络流量施加什么样的动作,此处为阻断、监测二选一。
    • +
    • 是否记录日志:对网络流量施加执行动作时,是否记录命中Mail协议配置的流量信息,包括发现时间、IP、收发件人等。
    • +
    +
    +
    +
    +
    + +
    +
    + MAIL协议管控的流量属性信息: +
      +
    • Mail头部关键词:匹配字段选择,例如发件人From与收件人To;关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • IP:选择IP类型、协议、IP模式、端口模式,并且填写对应的具体IP与端口值,选择匹配方向是单向还是双向匹配。
    • +
    • Subscribe ID:IP地址对应的用户信息关键字,子串匹配,非二进制,大小写不敏感。
    • +
    +
    +
    +
    +
    + +
    +
    + MAIL协议管控配置的属性信息: +
      +
    • 客户端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 客户端端口:端口与端口掩码范围是0-65535。
    • +
    • 服务端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 服务端端口:端口与端口掩码范围是0-65535。
    • +
    • 另:客户端IP与服务端IP不能相同。
    • +
    +
    +
    +
    +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效。 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 监测预期效果:记录符合配置条件的Mail流量监测日志。 +
    • 阻断预期效果:阻断符合配置条件的Mail邮件,即该邮件无法正常发送或接收,并记录阻断日志。 +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ntc/Mail_advanced.html b/src/main/webapp/online-help/ntc/Mail_advanced.html new file mode 100644 index 000000000..ff015e195 --- /dev/null +++ b/src/main/webapp/online-help/ntc/Mail_advanced.html @@ -0,0 +1,199 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 本页面完成针对Mail流量的扩展配置,从而对包含特定IP、收发件人、主题或邮件正文特征的Mail流量进行监测或阻断。 +
    +
    +
    +
    + +
    +
    + 配置基础信息包括:规则名称,执行动作,是否记录管控日志。 +
      +
    • 规则名称:用户自定义的该条配置的描述信息。
    • +
    • 执行动作:配置施加于网络传输单元时,对网络流量施加什么样的动作,此处为阻断、监测二选一。
    • +
    • 是否记录日志:对网络流量施加执行动作时,是否记录命中Mail协议扩展配置的流量信息,包括发现时间、IP、收发件人等。
    • +
    +
    +
    +
    +
    + +
    +
    + MAIL协议扩展管控的流量属性信息: +
      +
    • Mail头部关键词:匹配字段选择,例如发件人From、收件人To、主题;关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • Mail正文关键词:匹配字段选择,例如正文内容、附件名称、附件内容;关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • IP:选择IP类型、协议、IP模式、端口模式,并且填写对应的具体IP与端口值,选择匹配方向是单向还是双向匹配。
    • +
    • Subscribe ID:IP地址对应的用户信息关键字,子串匹配,非二进制,大小写不敏感。
    • +
    +
    +
    +
    +
    + +
    +
    + MAIL协议管控配置的属性信息: +
      +
    • 客户端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 客户端端口:端口与端口掩码范围是0-65535。
    • +
    • 服务端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 服务端端口:端口与端口掩码范围是0-65535。
    • +
    • 另:客户端IP与服务端IP不能相同。
    • +
    +
    +
    +
    + +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效。 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 监测预期效果:记录符合配置条件的Mail流量监测日志。 +
    • 阻断预期效果:阻断符合配置条件的Mail邮件,即该邮件无法正常发送或接收,并记录阻断日志。 +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ntc/SSL.html b/src/main/webapp/online-help/ntc/SSL.html new file mode 100644 index 000000000..28bd6ce0b --- /dev/null +++ b/src/main/webapp/online-help/ntc/SSL.html @@ -0,0 +1,201 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 本页面完成针对SSL流量的配置,从而对包含特定IP、SNI、SAN或CN特征的SSL流量进行监测或阻断。 +
    +
    +
    +
    + +
    +
    + 配置基础信息包括:规则名称,执行动作,是否记录管控日志。 +
      +
    • 规则名称:用户自定义的该条配置的描述信息。
    • +
    • 执行动作:配置施加于网络传输单元时,对网络流量施加什么样的动作,此处为阻断、监测二选一。
    • +
    • 是否记录日志:对网络流量施加执行动作时,是否记录命中SSL协议配置的流量信息,包括发现时间、IP、SNI、SAN、CN等。
    • +
    +
    +
    +
    +
    + +
    +
    + SSL协议管控的流量属性信息: +
      +
    • SNI:SSL请求服务器名称指示关键词。关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • SAN:SSL域名主体替代名称关键词。关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • CN:SSL域名通用名关键词。关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流);是否大小写敏感选择。
    • +
    • IP:选择IP类型、协议、IP模式、端口模式,并且填写对应的具体IP与端口值,选择匹配方向是单向还是双向匹配。
    • +
    • Subscribe ID:IP地址对应的用户信息关键字,子串匹配,非二进制,大小写不敏感。
    • +
    + +
    +
    +
    +
    + +
    +
    + SSL协议管控配置的属性信息: +
      +
    • 客户端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 客户端端口:端口与端口掩码范围是0-65535。
    • +
    • 服务端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 服务端端口:端口与端口掩码范围是0-65535。
    • +
    • 另:客户端IP与服务端IP不能相同。
    • +
    +
    +
    +
    +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效。 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 监测预期效果:记录符合配置条件的SSL流量监测日志。 +
    • 阻断预期效果:阻断符合配置条件的SSL网络流量,例如阻止某次特定HTTPS访问,并记录阻断日志。 +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ntc/ip_address.html b/src/main/webapp/online-help/ntc/ip_address.html new file mode 100644 index 000000000..2aa110b41 --- /dev/null +++ b/src/main/webapp/online-help/ntc/ip_address.html @@ -0,0 +1,201 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 本页面完成对网络流量IP特征的配置,对包含特定IP特征的流量进行阻断、监测、丢弃或限速。 +
    +
    +
    +
    + +
    +
    + 配置基础信息包括:规则名称,执行动作,是否记录管控日志。 +
      +
    • 规则名称:用户自定义的该条配置的描述信息。
    • +
    • 执行动作:配置施加于网络传输单元时,对网络流量施加什么样的动作,此处为阻断、监测、丢弃、限速四选一。
    • +
    • 是否记录日志:对网络流量施加执行动作时,是否命中IP配置的网络流量信息,包括发现时间、IP、端口等。
    • +
    +
    +
    +
    +
    + +
    +
    + IP地址管控的流量属性信息: +
      +
    • IP:选择IP类型、协议、IP模式、端口模式,并且填写对应的具体IP与端口值,选择匹配方向是单向还是双向匹配。
    • +
    • ASN:自治系统号选择,可以选择下拉菜单中的自治系统。
    • +
    + +
    +
    +
    +
    + +
    +
    + IP管控配置的属性信息: +
      +
    • 客户端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 客户端端口:端口与端口掩码范围是0-65535。
    • +
    • 服务端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 服务端端口:端口与端口掩码范围是0-65535。
    • +
    • 另:客户端IP与服务端IP不能相同。
    • +
    +
    +
    +
    + +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效。 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 监测预期效果:记录符合配置条件的IP监测流量日志。 +
    • 阻断预期效果:阻断承载于配置IP或IP组之上的TCP流量,即发送TCP的RST报文,并记录阻断日志。 +
    • 限速预期效果:限制承载于配置IP或IP组之上网络流量的传输速率。 +
    • 丢弃预期效果:丢弃承载于配置IP或IP组之上的网络流量报文,使得目的端无法收到报文。 +
    + +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ntc/ip_white_list.html b/src/main/webapp/online-help/ntc/ip_white_list.html new file mode 100644 index 000000000..c108eb3e7 --- /dev/null +++ b/src/main/webapp/online-help/ntc/ip_white_list.html @@ -0,0 +1,175 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 本页面完成针对网络流量的IP白名单配置,将特定IP或IP组设置为白名单。 +
    +
    +
    +
    + +
    +
    + 配置基础信息包括:规则名称,执行动作。 +
      +
    • 规则名称:用户自定义的该条配置的描述信息。
    • +
    • 执行动作:配置施加于网络传输单元时,对网络流量施加什么样的动作,此处为单一选项白名单。
    • +
    +
    +
    +
    +
    + +
    +
    + 此处指流量的IP属性:即配置特定IP为白名单。 +
      +
    • IP Type:IP类型,可以选择IPv4或者IPv6。
    • +
    • IP Pattern:IP配置模式,可以选择特定IP、IP段或者IP掩码三种模式。
    • +
    • Client IP:具体的IP白名单配置。
    • +
    + +
    +
    +
    +
    + +
    +
    + IP白名单配置的属性信息: +
      +
    • 客户端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 客户端端口:端口与端口掩码范围是0-65535。
    • +
    • 服务端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 服务端端口:端口与端口掩码范围是0-65535。
    • +
    • 另:客户端IP与服务端IP不能相同。
    • +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + 设置为白名单的IP或IP组上的网络流量不受其他配置的控制与影响,其上所有网络行为皆可正常无虞。 +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ntc/p2p.html b/src/main/webapp/online-help/ntc/p2p.html new file mode 100644 index 000000000..2f5463971 --- /dev/null +++ b/src/main/webapp/online-help/ntc/p2p.html @@ -0,0 +1,207 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 本页面完成针对P2P流量(包括EMULE协议与BT协议)的配置,从而对包含特定IP、EMULE搜索关键词与文件标识的P2P流量进行监测或阻断。 +
    +
    +
    +
    + +
    +
    + 配置基础信息包括:规则名称,执行动作,是否记录管控日志。 +
      +
    • 规则名称:用户自定义的该条配置的描述信息。
    • +
    • 执行动作:配置施加于网络传输单元时,对网络流量施加什么样的动作,此处为阻断、监测二选一。
    • +
    • 是否记录日志:对网络流量施加执行动作时,是否记录命中配置的P2P流量信息,包括发现时间、IP、文件标识等。
    • +
    +
    +
    +
    +
    + +
    +
    + P2P协议扩展管控的流量属性信息: +
      +
    • EMULE 搜索关键词:关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • 文件标识:首先选择标识类型,BT INFO 或者EMULE fileid;关键字填写十六进制数标识;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是二进制;大小写敏感。
    • +
    • IP:IP配置类型,EMULE SERVER、BT TRACKER分别为客户端与EMULE、BT服务器的通信,EMULE NODE、BT NODE分别为客户端与客户端之间的通信,IP配置类型四选一;选择IP类型、协议与客户端与服务端的IP模式、端口模式,并且填写对应的具体IP与端口值,选择匹配方向是单向还是双向匹配。
    • +
    • Subscribe ID:IP地址对应的用户信息关键字。关键字填写;子串匹配,非二进制,大小写不敏感。
    • +
    +
    +
    +
    +
    + +
    +
    + P2P协议管控配置的属性信息: +
      +
    • BT INFO:长度不超过20Byte。
    • +
    • EMULE Fileid:长度不超过16Byte。
    • +
    • 客户端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 客户端端口:端口与端口掩码范围是0-65535。
    • +
    • 服务端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 服务端端口:端口与端口掩码范围是0-65535。
    • +
    • 另:客户端IP与服务端IP不能相同。
    • +
    +
    +
    +
    +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效。 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • IP封堵效果:BT客户端(关闭utp及DHT相关设置)新添加的种子文件速度为0;Emule客户端(关闭迷惑协议)新添加的下载文件速度为0,Emule客户端服务器(不包括KAD网络)连接失败,无法进行Servers搜索。 +
    • IP监测效果:BT返回该链接含有的infohash值,Emule返回该链接含有的fileid和keywordhash或搜素关键词等信息。 +
    • BT INFOHASH封堵:客户端中对应要封堵的INFOHASH无下载速度(需先下配置,再新建bt下载任务),如果选择记录日志,则返回相应的INFOHASH封堵日志。 +
    • BT INFOHASH监测:客户端中对应监测INFOHASH无影响(需先下配置,再新建bt下载任务),返回对应的INFOHASH监测日志。 +
    • EMULE FILEID封堵:客户端中对应要封堵的FILEID无下载速度(需先下配置,再新建文件下载任务),如果选择记录日志,则返回相应的EMULE封堵日志。 +
    • EMULE FILEID监测:客户端中对应监测FILEID无影响(需先下配置,再新建文件下载任务),返回对应的监测日志。 +
    • EMULE搜索关键词命中封堵配置时,显示搜索结果列表为空,返回相应的EMULE封堵日志。 +
    • EMULE搜索关键词命中监测配置时,对搜索结果没有影响,界面返回实际对应的搜索关键词信息。 +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ntc/stream_media.html b/src/main/webapp/online-help/ntc/stream_media.html new file mode 100644 index 000000000..cebbe3f05 --- /dev/null +++ b/src/main/webapp/online-help/ntc/stream_media.html @@ -0,0 +1,198 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 本页面完成针对流媒体流量(包括 RTSP协议与RTMP协议)的配置,从而对包含特定IP或URL特征的流媒体流量进行监测或阻断。 +
    +
    +
    +
    + +
    +
    + 配置基础信息包括:规则名称,执行动作,是否记录管控日志。 +
      +
    • 规则名称:用户自定义的该条配置的描述信息。
    • +
    • 执行动作:配置施加于网络传输单元时,对网络流量施加什么样的动作,此处为阻断、监测二选一。
    • +
    • 是否记录日志:对网络流量施加执行动作时,是否记录命中流媒体配置的流量信息,包括发现时间、IP、URL等。
    • +
    +
    +
    +
    +
    + +
    +
    + 流媒体协议扩展管控的流量属性信息: +
      +
    • URL:流媒体的URL。关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;非二进制;大小写不敏感。
    • +
    • IP:选择IP类型、协议、IP模式、端口模式,并且填写对应的具体IP与端口值,选择匹配方向是单向还是双向匹配。
    • +
    • Subscribe ID:IP地址对应的用户信息关键字,子串匹配,非二进制,大小写不敏感。
    • +
    +
    +
    +
    +
    + +
    +
    + 流媒体协议管控配置的属性信息: +
      +
    • 客户端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 客户端端口:端口与端口掩码范围是0-65535。
    • +
    • 服务端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 服务端端口:端口与端口掩码范围是0-65535。
    • +
    • 另:客户端IP与服务端IP不能相同。
    • +
    +
    +
    +
    +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效。 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 监测预期效果:记录符合配置条件的流媒体流量监测日志。 +
    • 阻断预期效果:阻断符合配置条件的流媒体流量,即客户端无法正常访问并播放该流媒体音视频内容,并记录阻断日志。 +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ntc/voip.html b/src/main/webapp/online-help/ntc/voip.html new file mode 100644 index 000000000..e8b3df96b --- /dev/null +++ b/src/main/webapp/online-help/ntc/voip.html @@ -0,0 +1,199 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 本页面完成针对VoIP流量(包括SIP协议与RTP协议)的配置,从而对包含特定IP、VoIP账号特征的VoIP流量进行监测或阻断。 +
    +
    +
    +
    + +
    +
    + 配置基础信息包括:规则名称,执行动作,是否记录管控日志。 +
      +
    • 规则名称:用户自定义的该条配置的描述信息。
    • +
    • 执行动作:配置施加于网络传输单元时,对网络流量施加什么样的动作,此处为阻断、监测二选一。
    • +
    • 是否记录日志:对网络流量施加执行动作时,是否记录命中配置的VoIP流量信息,包括发现时间、IP、VoIP主被叫账号、通话语音等。
    • +
    +
    +
    +
    +
    + +
    +
    + VoIP协议扩展管控的流量属性信息: +
      +
    • VoIP账号:关键字填写;匹配方式选择,例如子串匹配、前缀匹配、后缀匹配与精确匹配;是否二进制选择(此处是指关键字内容是否为二进制原始码流,选择是,则关键字处填写十六进制数);是否大小写敏感选择。
    • +
    • IP:选择IP类型、协议与客户端与服务端的IP模式、端口模式,并且填写对应的具体IP与端口值,选择匹配方向是单向还是双向匹配。
    • +
    • Subscribe ID:IP地址对应的用户信息关键字。关键字填写;子串匹配,非二进制,大小写不敏感。
    • +
    +
    +
    +
    +
    + +
    +
    + VoIP协议管控配置的属性信息: +
      +
    • VoIP账号:长度不超过1500Byte。
    • +
    • 客户端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 客户端端口:端口与端口掩码范围是0-65535。
    • +
    • 服务端IP:合法的单IP;IP段只能配置x.x.x.0-x.x.x.255;IP/mask中mask值限制为16-32。
    • +
    • 服务端端口:端口与端口掩码范围是0-65535。
    • +
    • 另:客户端IP与服务端IP不能相同。
    • +
    +
    +
    +
    +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效。 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 监测预期效果:记录符合配置条件的VoIP流量监测日志。 +
    • 阻断预期效果:阻断符合配置条件的VoIP通话,即客户端无法拨通本次VoIP电话,客户端与服务端均收到挂断、通话超时、服务器异常的虚假报文,并记录阻断日志。 +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/proxy/domain_intercept_policy.html b/src/main/webapp/online-help/proxy/domain_intercept_policy.html new file mode 100644 index 000000000..2ff142eb6 --- /dev/null +++ b/src/main/webapp/online-help/proxy/domain_intercept_policy.html @@ -0,0 +1,204 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 域名拦截主要是根据域名对网站进行拦截,主要分为域名监测,域名白名单和域名限速功能,匹配的方式为子串匹配。当检测到请求的url中包含有配置的域名,根据上述三个功能,进行相应的替换替换,证书不替换和,限速功能。 +
    +
    +
    +
    + +
    +
    +
      +
    • 域名:监测网站的域名,或是域名的子串
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • 域名:请求URL中的域名,或是URL中域名的子串
    • +
    • 限速:对被测机器限制网速,根据配置的数值比列丢包
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • 域名:配置的监测域名,合法的域名表示
    • +
    • 丢包率:在0.001-0.009之间
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 黑名单:浏览器证书替换
    • +
    • 白名单:浏览器证书不替换
    • +
    • 限速:测试有等比例接近的丢包
    • +
    +
    +
    +
    +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据。
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/proxy/https_block_log.html b/src/main/webapp/online-help/proxy/https_block_log.html new file mode 100644 index 000000000..8d076b093 --- /dev/null +++ b/src/main/webapp/online-help/proxy/https_block_log.html @@ -0,0 +1,209 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + Proxy日志按照控制策略类型进行分类,分为HTTP(S)监测、HTTP(S)管控、HTTP(S)重定向配置、HTTP(S)替换。每类日志页面下有两个基础搜索选项:开始时间、结束时间。和三个功能按钮搜:搜索、重置、筛选和右侧的设置按钮。 +
      +
    • 选项名称:开始时间-
    • +
    • 执行动作:点击“开始时间”可以选择搜索日志的时间范围。时间选项中有当前时间的日历和时间表,以确定具体的筛选时间,下方三个选项“clear”表示清空当前选择、“Today”表示将选择时间定为当前时间,“OK”表示确认。确认时间范围后,搜索结果将返回时间范围内的满足搜索条件的HTTP(S)管控日志
    • +
    +
      +
    • 选项名称:结束时间-
    • +
    • 执行动作:点击“结束时间”可以选择搜索日志的时间范围。时间选项中有当前时间的日历和时间表,以确定具体的筛选时间,下方三个选项“clear”表示清空当前选择、“Today”表示将选择时间定为当前时间,“OK”表示确认。确认时间范围后,搜索结果将返回时间范围内的满足搜索条件的HTTP(S)管控日志
    • +
    +
      +
    • 选项名称:搜索-
    • +
    • 执行动作:点击“搜索”,将返回满足时间范围和筛选条件内的HTTP(S)重定向日志
    • +
    +
      +
    • 选项名称:重置-
    • +
    • 执行动作:点击“重置”,将筛选条件和开始时间结束时间清空
    • +
    +
      +
    • 选项名称:筛选-
    • +
    • 执行动作:点击“筛选”,扩展日志筛选条件。eg.传输层协议、传输方向等
    • +
    +
      +
    • 选项名称:筛选-
    • +
    • 执行动作:点击“筛选”,选择查询结果输出的日志信息项
    • +
    +
      +
    +
    +
    +
    + +
    +
    + 点开筛选按钮后,会出现扩展搜索选项:传输层协议、传输方向、出入口、处理机IP、源IP、目的IP和配置ID。 +
      +
    • 选项名称:传输层协议-
    • +
    • 执行动作:点击“筛选”——>选择“传输层协议”,可以选择:L2TP、IPv4_UDP、IPv6、IPv6_UDP、OpenVPN、MAC、MPLS、IPv4_TCP、IPv4、IPv6_TCP、PPTP、VLAN、GRE。确认筛选的传输层协议后,搜索结果将返回选定时间范围内的对应协议的HTTP(S)管控日志,不做选择时默认所有协议
    • +
    +
      +
    • 选项名称:传输方向-
    • +
    • 执行动作:点击“筛选”——>选择“传输方向”,可以选择:境内、境外。境内表示触发规则的源IP为内部IP,境外表示触发规则的源IP为外部IP。确认筛选的传输方向后,搜索结果将返回选定时间范围内的对应传输方向的HTTP(S)重定向日志,不做选择时默认境内外
    • +
    +
      +
    • 选项名称:出入口-
    • +
    • 执行动作:点击“筛选”——>选择“出入口”。暂时不支持该功能
    • +
    +
      +
    • 选项名称:处理机IP-
    • +
    • 执行动作:点击“筛选”——>选择“处理机IP”,输入筛选的处理机IP地址,支持IPv4和IPv6,IPv4输入“IPv4 xxx”,IPv输入“IPv6 xxx”(xxx为对应IP地址),eg."IPv4 192.168.17.3"、"IPv6 fc00::1:1f"。确认筛选的处理机IP后,搜索结果将返回选定时间范围内的对应处理机IP的HTTP(S)管控日志,不做选择时默认所有IP
    • +
    +
      +
    • 选项名称:源IP-
    • +
    • 执行动作:点击“筛选”——>选择“源IP”,输入筛选的源IP地址,支持IPv4和IPv6,IPv4输入“IPv4 xxx”,IPv输入“IPv6 xxx”(xxx为对应IP地址),eg."IPv4 192.168.17.3"、"IPv6 fc00::1:1f"。确认筛选的源IP后,搜索结果将返回选定时间范围内的对应源IP的HTTP(S)管控日志,不做选择时默认所有IP
    • +
    +
      +
    • 选项名称:目的IP-
    • +
    • 执行动作:点击“筛选”——>选择“目的IP”,输入筛选的目的IP地址,支持IPv4和IPv6,IPv4输入“IPv4 xxx”,IPv输入“IPv6 xxx”(xxx为对应IP地址),eg."IPv4 192.168.17.3"、"IPv6 fc00::1:1f"。确认筛选的目的IP后,搜索结果将返回选定时间范围内的对应目的IP的HTTP(S)管控日志,不做选择时默认所有IP
    • +
    +
      +
    • 选项名称:配置ID-
    • +
    • 执行动作:点击“筛选”——>选择“配置ID”,输入筛选的配置ID。确认筛选的目的IP后,搜索结果将返回选定时间范围内的对应配置ID的HTTP(S)重定向日志,不做选择时默认所有配置
    • +
    +
    +
    +
    +
    + +
    +
    + 此处对日志信息每项标签做解析,帮助使用人员理解日志具体信息: + Proxy在命中记录日志的控制策略时将会产生相应的日志信息,命中配置的消息日志信息包括:配置ID、发现时间、出入口、URL、处理机IP、传输层协议、目的IP、源IP、目的端口、源端口、串联设备、方向、流类型、服务端地址、客户端地址、客户端ASN、服务端ASN、客户端用户名、服务端用户名、现场日志文件地址。 +
      +
    • 配置ID:命中配置的配置ID
    • +
    • 发现时间:命中规则的时间
    • +
    • 出入口:暂不支持
    • +
    • URL:命中配置的URL
    • +
    • 处理机IP:处理这条命中规则的服务器IP
    • +
    • 传输层协议:这条消息的传输层协议
    • +
    • 目的IP:命中配置的连接的目的IP
    • +
    • 源IP:命中配置的连接的源IP
    • +
    • 目的端口:命中配置的连接的目的端口
    • +
    • 源端口:命中配置的连接的源端口
    • +
    • 串联设备:暂不支持
    • +
    • 方向:该日志是传输方向--境内/境外
    • +
    • 流类型:该流是单向或双向流
    • +
    • 服务端地址:该流服务端所在的地理区域,eg.Hong Kong、United States
    • +
    • 客户端地址:该流客户端所在的地理区域,eg.Hong Kong、United States
    • +
    • 客户端ASN:客户端的ASN号(自治系统号)
    • +
    • 服务端ASN:服务端的ASN号(自治系统号)
    • +
    • 客户端用户名:客户端账户的用户名
    • +
    • 服务端用户名:服务端账户的用户名
    • +
    • 现场日志文件地址:该日志保存的地址
    • +
    + +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/proxy/https_block_policy.html b/src/main/webapp/online-help/proxy/https_block_policy.html new file mode 100644 index 000000000..65187fb24 --- /dev/null +++ b/src/main/webapp/online-help/proxy/https_block_policy.html @@ -0,0 +1,219 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + HTTP(s)阻断主要的功能是实现浏览器无法访问网站。当配置的测试机的IP地址等信息后,被测机器无法访问网站,阻断上网的功能,主要包括IP阻断,URL阻断,请求头域阻断,应答头域阻断,请求内容阻断,应答内容阻断,账号阻断 +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“IP拦截”
    • +
    • HTTP URL:“同域名拦截”
    • +
    • HTTP 请求头域:同“HTTP(s)监测”
    • +
    • HTTP 应答头域:同“HTTP(s)监测”
    • +
    • HTTP 请求内容:同“HTTP(s)监测”
    • +
    • HTTP 应答内容:同“HTTP(s)监测”
    • +
    • 账号:同“HTTP(s)监测”
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“HTTP(s)监测”
    • +
    • HTTP URL:同“HTTP(s)监测”
    • +
    • HTTP 请求头域:同“HTTP(s)监测”
    • +
    • HTTP 应答头域:同“HTTP(s)监测”
    • +
    • HTTP 请求内容:同“HTTP(s)监测”
    • +
    • HTTP 应答内容:同“HTTP(s)监测”
    • +
    • 账号:同“HTTP(s)监测”
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“IP拦截”
    • +
    • URL:同“域名拦截”
    • +
    • HTTP 请求头:同“HTTP(s)监测”
    • +
    • HTTP 应答头:同“HTTP(s)监测”
    • +
    • HTTP 请求内容:同“HTTP(s)监测”
    • +
    • HTTP 应答内容:同“HTTP(s)监测”
    • +
    • 账号:同“HTTP(s)监测”
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 阻断效果:浏览器无法访问页面
    • +
    • 日志检查:生成日志
    • +
    +
    +
    +
    +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据。
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/proxy/https_monitor_log.html b/src/main/webapp/online-help/proxy/https_monitor_log.html new file mode 100644 index 000000000..5f7993470 --- /dev/null +++ b/src/main/webapp/online-help/proxy/https_monitor_log.html @@ -0,0 +1,209 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + Proxy日志按照控制策略类型进行分类,分为HTTP(S)监测、HTTP(S)管控、HTTP(S)重定向配置、HTTP(S)替换。每类日志页面下有两个基础搜索选项:开始时间、结束时间。和三个功能按钮搜:搜索、重置、筛选和右侧的设置按钮。 +
      +
    • 选项名称:开始时间-
    • +
    • 执行动作:点击“开始时间”可以选择搜索日志的时间范围。时间选项中有当前时间的日历和时间表,以确定具体的筛选时间,下方三个选项“clear”表示清空当前选择、“Today”表示将选择时间定为当前时间,“OK”表示确认。确认时间范围后,搜索结果将返回时间范围内的满足搜索条件的HTTP(S)监测日志
    • +
    +
      +
    • 选项名称:结束时间-
    • +
    • 执行动作:点击“结束时间”可以选择搜索日志的时间范围。时间选项中有当前时间的日历和时间表,以确定具体的筛选时间,下方三个选项“clear”表示清空当前选择、“Today”表示将选择时间定为当前时间,“OK”表示确认。确认时间范围后,搜索结果将返回时间范围内的满足搜索条件的HTTP(S)监测日志
    • +
    +
      +
    • 选项名称:搜索-
    • +
    • 执行动作:点击“搜索”,将返回满足时间范围和筛选条件内的HTTP(S)监测日志
    • +
    +
      +
    • 选项名称:重置-
    • +
    • 执行动作:点击“重置”,将筛选条件和开始时间结束时间清空
    • +
    +
      +
    • 选项名称:筛选-
    • +
    • 执行动作:点击“筛选”,扩展日志筛选条件。eg.传输层协议、传输方向等
    • +
    +
      +
    • 选项名称:筛选-
    • +
    • 执行动作:点击“筛选”,选择查询结果输出的日志信息项
    • +
    +
      +
    +
    +
    +
    + +
    +
    + 点开筛选按钮后,会出现扩展搜索选项:传输层协议、传输方向、出入口、处理机IP、源IP、目的IP和配置ID。 +
      +
    • 选项名称:传输层协议-
    • +
    • 执行动作:点击“筛选”——>选择“传输层协议”,可以选择:L2TP、IPv4_UDP、IPv6、IPv6_UDP、OpenVPN、MAC、MPLS、IPv4_TCP、IPv4、IPv6_TCP、PPTP、VLAN、GRE。确认筛选的传输层协议后,搜索结果将返回选定时间范围内的对应协议的HTTP(S)监测日志,不做选择时默认所有协议
    • +
    +
      +
    • 选项名称:传输方向-
    • +
    • 执行动作:点击“筛选”——>选择“传输方向”,可以选择:境内、境外。境内表示触发规则的源IP为内部IP,境外表示触发规则的源IP为外部IP。确认筛选的传输方向后,搜索结果将返回选定时间范围内的对应传输方向的HTTP(S)监测日志,不做选择时默认境内外
    • +
    +
      +
    • 选项名称:出入口-
    • +
    • 执行动作:点击“筛选”——>选择“出入口”。暂时不支持该功能
    • +
    +
      +
    • 选项名称:处理机IP-
    • +
    • 执行动作:点击“筛选”——>选择“处理机IP”,输入筛选的处理机IP地址,支持IPv4和IPv6,IPv4输入“IPv4 xxx”,IPv输入“IPv6 xxx”(xxx为对应IP地址),eg."IPv4 192.168.17.3"、"IPv6 fc00::1:1f"。确认筛选的处理机IP后,搜索结果将返回选定时间范围内的对应处理机IP的HTTP(S)监测日志,不做选择时默认所有IP
    • +
    +
      +
    • 选项名称:源IP-
    • +
    • 执行动作:点击“筛选”——>选择“源IP”,输入筛选的源IP地址,支持IPv4和IPv6,IPv4输入“IPv4 xxx”,IPv输入“IPv6 xxx”(xxx为对应IP地址),eg."IPv4 192.168.17.3"、"IPv6 fc00::1:1f"。确认筛选的源IP后,搜索结果将返回选定时间范围内的对应源IP的HTTP(S)监测日志,不做选择时默认所有IP
    • +
    +
      +
    • 选项名称:目的IP-
    • +
    • 执行动作:点击“筛选”——>选择“目的IP”,输入筛选的目的IP地址,支持IPv4和IPv6,IPv4输入“IPv4 xxx”,IPv输入“IPv6 xxx”(xxx为对应IP地址),eg."IPv4 192.168.17.3"、"IPv6 fc00::1:1f"。确认筛选的目的IP后,搜索结果将返回选定时间范围内的对应目的IP的HTTP(S)监测日志,不做选择时默认所有IP
    • +
    +
      +
    • 选项名称:配置ID-
    • +
    • 执行动作:点击“筛选”——>选择“配置ID”,输入筛选的配置ID。确认筛选的目的IP后,搜索结果将返回选定时间范围内的对应配置ID的HTTP(S)监测日志,不做选择时默认所有配置
    • +
    +
    +
    +
    +
    + +
    +
    + 此处对日志信息每项标签做解析,帮助使用人员理解日志具体信息: + Proxy在命中记录日志的控制策略时将会产生相应的日志信息,命中配置的消息日志信息包括:配置ID、发现时间、出入口、URL、处理机IP、传输层协议、目的IP、源IP、目的端口、源端口、串联设备、方向、流类型、服务端地址、客户端地址、客户端ASN、服务端ASN、客户端用户名、服务端用户名、现场日志文件地址。 +
      +
    • 配置ID:命中配置的配置ID
    • +
    • 发现时间:命中规则的时间
    • +
    • 出入口:暂不支持
    • +
    • URL:命中配置的URL
    • +
    • 处理机IP:处理这条命中规则的服务器IP
    • +
    • 传输层协议:这条消息的传输层协议
    • +
    • 目的IP:命中配置的连接的目的IP
    • +
    • 源IP:命中配置的连接的源IP
    • +
    • 目的端口:命中配置的连接的目的端口
    • +
    • 源端口:命中配置的连接的源端口
    • +
    • 串联设备:暂不支持
    • +
    • 方向:该日志是传输方向--境内/境外
    • +
    • 流类型:该流是单向或双向流
    • +
    • 服务端地址:该流服务端所在的地理区域,eg.Hong Kong、United States
    • +
    • 客户端地址:该流客户端所在的地理区域,eg.Hong Kong、United States
    • +
    • 客户端ASN:客户端的ASN号(自治系统号)
    • +
    • 服务端ASN:服务端的ASN号(自治系统号)
    • +
    • 客户端用户名:客户端账户的用户名
    • +
    • 服务端用户名:服务端账户的用户名
    • +
    • 现场日志文件地址:该日志保存的地址
    • +
    + +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/proxy/https_monitor_policy.html b/src/main/webapp/online-help/proxy/https_monitor_policy.html new file mode 100644 index 000000000..7e57db800 --- /dev/null +++ b/src/main/webapp/online-help/proxy/https_monitor_policy.html @@ -0,0 +1,222 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + HTTP(s)监测与IP监测的功能类似,额外增加了其他的监测,主要包括URL监测,请求头域监测,应答头域监测,请求内容监测,应答内容监测,账号监测。 +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“IP拦截”
    • +
    • HTTP URL:同“域名拦截”
    • +
    • HTTP 请求头域:HTTP发送请求的头域信息
    • +
    • HTTP 应答头域:HTTP应答的头域信息
    • +
    • HTTP 请求内容:HTTP请求体中的内容
    • +
    • HTTP 应答内容:HTTP 响应体的内容
    • +
    • 账号:上网登陆账号
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“IP拦截”
    • +
    • 端口:同“IP拦截”
    • +
    • HTTP URL:同“域名拦截”
    • +
    • URL:同“域名拦截”
    • +
    • HTTP 请求头域:浏览器发送头信息的请求头,其中包括请求方法
    • +
    • HTTP 应答头域:HTTP响应的头信息
    • +
    • HTTP 请求内容:HTTP请求体
    • +
    • HTTP 应答内容:HTTP响应体
    • +
    • 账号:拨号上网账号
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“IP拦截”
    • +
    • 端口:同“IP拦截”
    • +
    • URL:配置的URL必须是可访问的
    • +
    • HTTP 请求头域:合法的请求头域
    • +
    • HTTP 应答头域:合法的应答头域
    • +
    • HTTP 请求内容:合法HTTP请求体
    • +
    • HTTP 应答内容:合法HTTP响应体
    • +
    • 账号:拨号上网的账号
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 证书替换:浏览器的证书替换,有日志
    • +
    • 账号监测:检测到配置的账号,有日志
    • +
    +
    +
    +
    +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据。
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/proxy/https_redirect_log.html b/src/main/webapp/online-help/proxy/https_redirect_log.html new file mode 100644 index 000000000..b41feef79 --- /dev/null +++ b/src/main/webapp/online-help/proxy/https_redirect_log.html @@ -0,0 +1,209 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + Proxy日志按照控制策略类型进行分类,分为HTTP(S)监测、HTTP(S)管控、HTTP(S)重定向配置、HTTP(S)替换。每类日志页面下有两个基础搜索选项:开始时间、结束时间。和三个功能按钮搜:搜索、重置、筛选和右侧的设置按钮。 +
      +
    • 选项名称:开始时间-
    • +
    • 执行动作:点击“开始时间”可以选择搜索日志的时间范围。时间选项中有当前时间的日历和时间表,以确定具体的筛选时间,下方三个选项“clear”表示清空当前选择、“Today”表示将选择时间定为当前时间,“OK”表示确认。确认时间范围后,搜索结果将返回时间范围内的满足搜索条件的HTTP(S)重定向配置日志
    • +
    +
      +
    • 选项名称:结束时间-
    • +
    • 执行动作:点击“结束时间”可以选择搜索日志的时间范围。时间选项中有当前时间的日历和时间表,以确定具体的筛选时间,下方三个选项“clear”表示清空当前选择、“Today”表示将选择时间定为当前时间,“OK”表示确认。确认时间范围后,搜索结果将返回时间范围内的满足搜索条件的HTTP(S)重定向配置日志
    • +
    +
      +
    • 选项名称:搜索-
    • +
    • 执行动作:点击“搜索”,将返回满足时间范围和筛选条件内的HTTP(S)重定向日志
    • +
    +
      +
    • 选项名称:重置-
    • +
    • 执行动作:点击“重置”,将筛选条件和开始时间结束时间清空
    • +
    +
      +
    • 选项名称:筛选-
    • +
    • 执行动作:点击“筛选”,扩展日志筛选条件。eg.传输层协议、传输方向等
    • +
    +
      +
    • 选项名称:筛选-
    • +
    • 执行动作:点击“筛选”,选择查询结果输出的日志信息项
    • +
    +
      +
    +
    +
    +
    + +
    +
    + 点开筛选按钮后,会出现扩展搜索选项:传输层协议、传输方向、出入口、处理机IP、源IP、目的IP和配置ID。 +
      +
    • 选项名称:传输层协议-
    • +
    • 执行动作:点击“筛选”——>选择“传输层协议”,可以选择:L2TP、IPv4_UDP、IPv6、IPv6_UDP、OpenVPN、MAC、MPLS、IPv4_TCP、IPv4、IPv6_TCP、PPTP、VLAN、GRE。确认筛选的传输层协议后,搜索结果将返回选定时间范围内的对应协议的HTTP(S)重定向配置日志,不做选择时默认所有协议
    • +
    +
      +
    • 选项名称:传输方向-
    • +
    • 执行动作:点击“筛选”——>选择“传输方向”,可以选择:境内、境外。境内表示触发规则的源IP为内部IP,境外表示触发规则的源IP为外部IP。确认筛选的传输方向后,搜索结果将返回选定时间范围内的对应传输方向的HTTP(S)重定向日志,不做选择时默认境内外
    • +
    +
      +
    • 选项名称:出入口-
    • +
    • 执行动作:点击“筛选”——>选择“出入口”。暂时不支持该功能
    • +
    +
      +
    • 选项名称:处理机IP-
    • +
    • 执行动作:点击“筛选”——>选择“处理机IP”,输入筛选的处理机IP地址,支持IPv4和IPv6,IPv4输入“IPv4 xxx”,IPv输入“IPv6 xxx”(xxx为对应IP地址),eg."IPv4 192.168.17.3"、"IPv6 fc00::1:1f"。确认筛选的处理机IP后,搜索结果将返回选定时间范围内的对应处理机IP的HTTP(S)重定向配置日志,不做选择时默认所有IP
    • +
    +
      +
    • 选项名称:源IP-
    • +
    • 执行动作:点击“筛选”——>选择“源IP”,输入筛选的源IP地址,支持IPv4和IPv6,IPv4输入“IPv4 xxx”,IPv输入“IPv6 xxx”(xxx为对应IP地址),eg."IPv4 192.168.17.3"、"IPv6 fc00::1:1f"。确认筛选的源IP后,搜索结果将返回选定时间范围内的对应源IP的HTTP(S)重定向配置日志,不做选择时默认所有IP
    • +
    +
      +
    • 选项名称:目的IP-
    • +
    • 执行动作:点击“筛选”——>选择“目的IP”,输入筛选的目的IP地址,支持IPv4和IPv6,IPv4输入“IPv4 xxx”,IPv输入“IPv6 xxx”(xxx为对应IP地址),eg."IPv4 192.168.17.3"、"IPv6 fc00::1:1f"。确认筛选的目的IP后,搜索结果将返回选定时间范围内的对应目的IP的HTTP(S)重定向配置日志,不做选择时默认所有IP
    • +
    +
      +
    • 选项名称:配置ID-
    • +
    • 执行动作:点击“筛选”——>选择“配置ID”,输入筛选的配置ID。确认筛选的目的IP后,搜索结果将返回选定时间范围内的对应配置ID的HTTP(S)重定向日志,不做选择时默认所有配置
    • +
    +
    +
    +
    +
    + +
    +
    + 此处对日志信息每项标签做解析,帮助使用人员理解日志具体信息: + Proxy在命中记录日志的控制策略时将会产生相应的日志信息,命中配置的消息日志信息包括:配置ID、发现时间、出入口、URL、处理机IP、传输层协议、目的IP、源IP、目的端口、源端口、串联设备、方向、流类型、服务端地址、客户端地址、客户端ASN、服务端ASN、客户端用户名、服务端用户名、现场日志文件地址。 +
      +
    • 配置ID:命中配置的配置ID
    • +
    • 发现时间:命中规则的时间
    • +
    • 出入口:暂不支持
    • +
    • URL:命中配置的URL
    • +
    • 处理机IP:处理这条命中规则的服务器IP
    • +
    • 传输层协议:这条消息的传输层协议
    • +
    • 目的IP:命中配置的连接的目的IP
    • +
    • 源IP:命中配置的连接的源IP
    • +
    • 目的端口:命中配置的连接的目的端口
    • +
    • 源端口:命中配置的连接的源端口
    • +
    • 串联设备:暂不支持
    • +
    • 方向:该日志是传输方向--境内/境外
    • +
    • 流类型:该流是单向或双向流
    • +
    • 服务端地址:该流服务端所在的地理区域,eg.Hong Kong、United States
    • +
    • 客户端地址:该流客户端所在的地理区域,eg.Hong Kong、United States
    • +
    • 客户端ASN:客户端的ASN号(自治系统号)
    • +
    • 服务端ASN:服务端的ASN号(自治系统号)
    • +
    • 客户端用户名:客户端账户的用户名
    • +
    • 服务端用户名:服务端账户的用户名
    • +
    • 现场日志文件地址:该日志保存的地址
    • +
    + +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/proxy/https_redirect_policy.html b/src/main/webapp/online-help/proxy/https_redirect_policy.html new file mode 100644 index 000000000..8337127c2 --- /dev/null +++ b/src/main/webapp/online-help/proxy/https_redirect_policy.html @@ -0,0 +1,220 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + HTTP(s)重定向主要对将请求的页面根据配置的信息重定向到指定的网页,主要包括应答重定向,IP重定向,URL重定向,请求头域重定向和应答头域重定向,请求内容重定向,应答内容重定向,账号重定向。 +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“IP拦截”
    • +
    • HTTP URL:同“域名拦截”
    • +
    • HTTP 请求头域:同“HTTP(s)监测”
    • +
    • HTTP 应答头域:同“HTTP(s)监测”
    • +
    • HTTP 请求内容:同“HTTP(s)监测”
    • +
    • HTTP 应答内容:同“HTTP(s)监测”
    • +
    • 账号:同“HTTP(s)监测”
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“IP拦截”
    • +
    • HTTP URL:同“域名拦截”
    • +
    • HTTP 请求头域:同“HTTP(s)监测”
    • +
    • HTTP 应答头域:同“HTTP(s)监测”
    • +
    • HTTP 请求内容:同“HTTP(s)监测”
    • +
    • HTTP 应答内容:同“HTTP(s)监测”
    • +
    • 账号:同“HTTP(s)监测”
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“IP拦截”
    • +
    • HTTP URL:同“域名拦截”
    • +
    • HTTP 请求头域:同“HTTP(s)监测”
    • +
    • HTTP 应答头域:同“HTTP(s)监测”
    • +
    • HTTP 请求内容:同“HTTP(s)监测”
    • +
    • HTTP 应答内容:同“HTTP(s)监测”
    • +
    • 账号:同“HTTP(s)监测”
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • +
    • 页面重定向:浏览器重定向到指定的页面
    • +
    • 日志:生成日志
    • +
    +
    +
    +
    +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据。
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/proxy/https_replace_log.html b/src/main/webapp/online-help/proxy/https_replace_log.html new file mode 100644 index 000000000..275f5fc1d --- /dev/null +++ b/src/main/webapp/online-help/proxy/https_replace_log.html @@ -0,0 +1,209 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + Proxy日志按照控制策略类型进行分类,分为HTTP(S)监测、HTTP(S)管控、HTTP(S)重定向配置、HTTP(S)替换。每类日志页面下有两个基础搜索选项:开始时间、结束时间。和三个功能按钮搜:搜索、重置、筛选和右侧的设置按钮。 +
      +
    • 选项名称:开始时间-
    • +
    • 执行动作:点击“开始时间”可以选择搜索日志的时间范围。时间选项中有当前时间的日历和时间表,以确定具体的筛选时间,下方三个选项“clear”表示清空当前选择、“Today”表示将选择时间定为当前时间,“OK”表示确认。确认时间范围后,搜索结果将返回时间范围内的满足搜索条件的HTTP(S)替换日志
    • +
    +
      +
    • 选项名称:结束时间-
    • +
    • 执行动作:点击“结束时间”可以选择搜索日志的时间范围。时间选项中有当前时间的日历和时间表,以确定具体的筛选时间,下方三个选项“clear”表示清空当前选择、“Today”表示将选择时间定为当前时间,“OK”表示确认。确认时间范围后,搜索结果将返回时间范围内的满足搜索条件的HTTP(S)替换日志
    • +
    +
      +
    • 选项名称:搜索-
    • +
    • 执行动作:点击“搜索”,将返回满足时间范围和筛选条件内的HTTP(S)重定向日志
    • +
    +
      +
    • 选项名称:重置-
    • +
    • 执行动作:点击“重置”,将筛选条件和开始时间结束时间清空
    • +
    +
      +
    • 选项名称:筛选-
    • +
    • 执行动作:点击“筛选”,扩展日志筛选条件。eg.传输层协议、传输方向等
    • +
    +
      +
    • 选项名称:筛选-
    • +
    • 执行动作:点击“筛选”,选择查询结果输出的日志信息项
    • +
    +
      +
    +
    +
    +
    + +
    +
    + 点开筛选按钮后,会出现扩展搜索选项:传输层协议、传输方向、出入口、处理机IP、源IP、目的IP和配置ID。 +
      +
    • 选项名称:传输层协议-
    • +
    • 执行动作:点击“筛选”——>选择“传输层协议”,可以选择:L2TP、IPv4_UDP、IPv6、IPv6_UDP、OpenVPN、MAC、MPLS、IPv4_TCP、IPv4、IPv6_TCP、PPTP、VLAN、GRE。确认筛选的传输层协议后,搜索结果将返回选定时间范围内的对应协议的HTTP(S)替换日志,不做选择时默认所有协议
    • +
    +
      +
    • 选项名称:传输方向-
    • +
    • 执行动作:点击“筛选”——>选择“传输方向”,可以选择:境内、境外。境内表示触发规则的源IP为内部IP,境外表示触发规则的源IP为外部IP。确认筛选的传输方向后,搜索结果将返回选定时间范围内的对应传输方向的HTTP(S)重定向日志,不做选择时默认境内外
    • +
    +
      +
    • 选项名称:出入口-
    • +
    • 执行动作:点击“筛选”——>选择“出入口”。暂时不支持该功能
    • +
    +
      +
    • 选项名称:处理机IP-
    • +
    • 执行动作:点击“筛选”——>选择“处理机IP”,输入筛选的处理机IP地址,支持IPv4和IPv6,IPv4输入“IPv4 xxx”,IPv输入“IPv6 xxx”(xxx为对应IP地址),eg."IPv4 192.168.17.3"、"IPv6 fc00::1:1f"。确认筛选的处理机IP后,搜索结果将返回选定时间范围内的对应处理机IP的HTTP(S)替换日志,不做选择时默认所有IP
    • +
    +
      +
    • 选项名称:源IP-
    • +
    • 执行动作:点击“筛选”——>选择“源IP”,输入筛选的源IP地址,支持IPv4和IPv6,IPv4输入“IPv4 xxx”,IPv输入“IPv6 xxx”(xxx为对应IP地址),eg."IPv4 192.168.17.3"、"IPv6 fc00::1:1f"。确认筛选的源IP后,搜索结果将返回选定时间范围内的对应源IP的HTTP(S)替换日志,不做选择时默认所有IP
    • +
    +
      +
    • 选项名称:目的IP-
    • +
    • 执行动作:点击“筛选”——>选择“目的IP”,输入筛选的目的IP地址,支持IPv4和IPv6,IPv4输入“IPv4 xxx”,IPv输入“IPv6 xxx”(xxx为对应IP地址),eg."IPv4 192.168.17.3"、"IPv6 fc00::1:1f"。确认筛选的目的IP后,搜索结果将返回选定时间范围内的对应目的IP的HTTP(S)替换日志,不做选择时默认所有IP
    • +
    +
      +
    • 选项名称:配置ID-
    • +
    • 执行动作:点击“筛选”——>选择“配置ID”,输入筛选的配置ID。确认筛选的目的IP后,搜索结果将返回选定时间范围内的对应配置ID的HTTP(S)重定向日志,不做选择时默认所有配置
    • +
    +
    +
    +
    +
    + +
    +
    + 此处对日志信息每项标签做解析,帮助使用人员理解日志具体信息: + Proxy在命中记录日志的控制策略时将会产生相应的日志信息,命中配置的消息日志信息包括:配置ID、发现时间、出入口、URL、处理机IP、传输层协议、目的IP、源IP、目的端口、源端口、串联设备、方向、流类型、服务端地址、客户端地址、客户端ASN、服务端ASN、客户端用户名、服务端用户名、现场日志文件地址。 +
      +
    • 配置ID:命中配置的配置ID
    • +
    • 发现时间:命中规则的时间
    • +
    • 出入口:暂不支持
    • +
    • URL:命中配置的URL
    • +
    • 处理机IP:处理这条命中规则的服务器IP
    • +
    • 传输层协议:这条消息的传输层协议
    • +
    • 目的IP:命中配置的连接的目的IP
    • +
    • 源IP:命中配置的连接的源IP
    • +
    • 目的端口:命中配置的连接的目的端口
    • +
    • 源端口:命中配置的连接的源端口
    • +
    • 串联设备:暂不支持
    • +
    • 方向:该日志是传输方向--境内/境外
    • +
    • 流类型:该流是单向或双向流
    • +
    • 服务端地址:该流服务端所在的地理区域,eg.Hong Kong、United States
    • +
    • 客户端地址:该流客户端所在的地理区域,eg.Hong Kong、United States
    • +
    • 客户端ASN:客户端的ASN号(自治系统号)
    • +
    • 服务端ASN:服务端的ASN号(自治系统号)
    • +
    • 客户端用户名:客户端账户的用户名
    • +
    • 服务端用户名:服务端账户的用户名
    • +
    • 现场日志文件地址:该日志保存的地址
    • +
    + +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/proxy/https_replace_policy.html b/src/main/webapp/online-help/proxy/https_replace_policy.html new file mode 100644 index 000000000..d7cf1e2c6 --- /dev/null +++ b/src/main/webapp/online-help/proxy/https_replace_policy.html @@ -0,0 +1,213 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + HTTP(s)替换的主要功能是将访问网站的应答内容替换为配置的内容,主要包括IP替换,URL替换,请求头域替换和应答头域替换,账号替换 +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“IP拦截”
    • +
    • HTTP URL:同“域名拦截”
    • +
    • HTTP 请求头域:同“HTTP(s)监测”
    • +
    • HTTP 应答头域:同“HTTP(s)监测”
    • +
    • 账号:同“HTTP(s)监测”
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“IP拦截”
    • +
    • HTTP URL:同“域名拦截”
    • +
    • HTTP 请求头域:同“HTTP(s)监测”
    • +
    • HTTP 应答头域:同“HTTP(s)监测”
    • +
    • 账号:同“HTTP(s)监测”
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“IP拦截”
    • +
    • HTTP URL:同“域名拦截”
    • +
    • HTTP 请求头域:同“HTTP(s)监测”
    • +
    • HTTP 应答头域:同“HTTP(s)监测”
    • +
    • 账号:同“HTTP(s)监测”
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 证书检查:浏览器的证书被替换
    • +
    • 日志检查:产生日志信息
    • +
    +
    +
    +
    +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据。
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/proxy/https_whiteList_policy.html b/src/main/webapp/online-help/proxy/https_whiteList_policy.html new file mode 100644 index 000000000..c9dd1971c --- /dev/null +++ b/src/main/webapp/online-help/proxy/https_whiteList_policy.html @@ -0,0 +1,197 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    + +
    +
    + HTTP(s)白名单主要是对访问的网站进行拦截,但是不替换证书,从而不解析网站的加密流量,主要包括IP拦截白名单,URL白名单,请求头域白名单,账号白名单 +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“IP拦截”
    • +
    • HTTP URL:同“域名拦截”
    • +
    • HTTP 请求头域:同“HTTP(s)监测”
    • +
    • 账号:同“HTTP(s)监测”
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“IP拦截”
    • +
    • HTTP URL:同“域名拦截”
    • +
    • HTTP 请求头域:同“HTTP(s)监测”
    • +
    • 账号:同“HTTP(s)监测”
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • IP:同“IP拦截”
    • +
    • HTTP URL:同“域名拦截”
    • +
    • HTTP 请求头域:同“HTTP(s)监测”
    • +
    • 账号:同“HTTP(s)监测”
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 证书检查:证书未替换
    • +
    +
    +
    +
    +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:官方或其他组织下达的配置流量管控依据
    • +
    • 分类:配置所属的类别
    • +
    • 性质:配置所属的性质
    • +
    • 标签:配置所属的标签
    • +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/proxy/ip_intercept_policy.html b/src/main/webapp/online-help/proxy/ip_intercept_policy.html new file mode 100644 index 000000000..e5240b1c6 --- /dev/null +++ b/src/main/webapp/online-help/proxy/ip_intercept_policy.html @@ -0,0 +1,216 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + IP拦截主要用于配置拦截的IP地址和端口号,测试拦截的效果,其中包括拦截黑名单和拦截白名单,当选择黑名单,这配置了IP地址的被测机器的浏览器证书替换,当选择白名单,则浏览器的证书不会替换。拦截的端口一般配置为服务的端口。 +
  • +
    +
    +
    +
    + +
    +
    +
      +
    • 源IP:用户的IP地址
    • +
    • 目的IP:网络服务器的IP
    • +
    • 源端口:用户的端口
    • +
    • 目的端口:服务使用的端口
    • +
    • 端口掩码:使用掩码表示的端口
    • +
    • IP范围:表示一段范围内的IP地址
    • +
    • IP掩码:使用掩码方式表示的IP段地址
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • 源IP:报文中的源IP
    • +
    • 目的IP:报文中目的IP
    • +
    • 源端口:报文中的源端口
    • +
    • 目的端口:报文中的目的端口
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • 源IP:与目的IP不同,且合法
    • +
    • 源端口:在0——65535范围以内
    • +
    • 目的IP:与源IP不同,且合法
    • +
    • 目的端口:在0——65535范围以为
    • +
    • IP范围:x.x.x.0——x.x.x.255
    • +
    • IP掩码:x.x.x.x/mask,mask属于16—32
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 黑名单:浏览器证书替换
    • +
    • 白名单:证书未替换
    • +
    +
    +
    +
    +
    + +
    +
    + 配置的生效区域,生效区域包括地区,以及ISP,地区和ISP可组合,即某个地区的某个运营商流量生效, + 或者某个地区的所有流量生效,或者某个运营商的所有流量生效,也可全域生效 +
    +
    +
    +
    + +
    +
    +
      +
    • 来函:必选项,官方或其他组织下达的配置流量管控依据。
    • +
    • 分类:非必选项,配置分类,例如内容安全、网络攻击等。
    • +
    • 性质:非必选项,配置性质,例如政治、暴力、宗教等。
    • +
    • 标签:非必选项,自定义标签。
    • +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ysp/audio_sample.html b/src/main/webapp/online-help/ysp/audio_sample.html new file mode 100644 index 000000000..df283fba2 --- /dev/null +++ b/src/main/webapp/online-help/ysp/audio_sample.html @@ -0,0 +1,202 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 音频样例匹配功能,可对网络流量中的音频内容进行分析,找出与用户配置的音频样例相匹配的音视频流量,并执行阻断与监测动作,产生日志 +
    +
    +
    +
    + +
    +
    +
      +
    • 规则名称:统一填写
    • +
    • 执行动作:(阻断与监测)统一填写
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 源文件:上传本地音频文件,将以该文件中包含的音频信息与流量中传输的音频进行匹配,命中后执行配置动作,产生日志
    • +
    • 置信度:当执行动作为监测时,用户可指定匹配命中的最小置信度,置信度可选值为70、80、90、100
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • 上传的本地音频文件大小应不大于20MB
    • +
    • 上传的本地音频文件时长应不大于2分钟
    • +
    • 支持的本地音频文件格式为:mp4,flv,asf,wmv,avi,mpeg,mov,dat,m4v,m4p,m4b,webm,ogv,wav,mp3
    • +
    +
    +
    +
    +
    + +
    +
    + 统一填写 +
    +
    +
    +
    + +
    +
    +
      +
    • 统一填写
    • + +
    +
    +
    +
    +
    + +
    +
    +
  • 首次分析阻断效果:命中样例配置后,客户端收到NTC系统发送的虚假RST报文,如此时该音视频未缓存或下载完成,则中断当前音视频的播放或下载
  • +
  • 后续访问阻断效果:首次分析命中后,会生成该音视频的传输特征,后续访问直接依据传输特征进行阻断
  • +
    +
    +
    +
    + +
    +
    +
      +
    • 对于音视频编码的索引信息在音视频文件尾部的情况,本系统不予支持
    • +
    • 由于音视频内容分析滞后于网络传输,本系统不保证首次观看音视频时的阻断效果
    • +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ysp/file_digest.html b/src/main/webapp/online-help/ysp/file_digest.html new file mode 100644 index 000000000..dfccb1388 --- /dev/null +++ b/src/main/webapp/online-help/ysp/file_digest.html @@ -0,0 +1,202 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 文件摘要检测功能,可提取网络流量中传输文件的摘要信息,并找出与用户配置的文件具有相似摘要的流量,命中配置后,执行阻断与监测动作,产生日志 +
    +
    +
    +
    + +
    +
    +
      +
    • 规则名称:统一填写
    • +
    • 执行动作:(阻断与监测)统一填写
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 文件:上传本地文件,该文件将与流量中包含的文件进行匹配,命中后执行配置动作,产生日志
    • +
    • 置信度:当执行动作为监测时,用户可指定匹配命中的最小置信度,置信度可选值为70、80、90、100
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • 上传的本地文件大小应不大于20MB
    • +
    • 支持的本地文件格式为:txt,doc,img,docx,pptx,xlsx,xls,ppt
    • +
    +
    +
    +
    + +
    + +
    +
    + 统一填写 +
    +
    +
    +
    + +
    +
    +
      +
    • 统一填写
    • + +
    +
    +
    +
    +
    + +
    +
    +
  • 首次分析阻断效果:当客户端下载某文件,并命中文件摘要配置后,客户端将收到NTC系统发送的虚假RST报文,如此时该文件未下载完成,则中断当前文件的下载
  • +
  • 后续访问阻断效果:首次分析命中后,会生成该文件的传输特征,后续下载请求直接依据传输特征进行阻断
  • +
    +
    +
    +
    + +
    +
    +
      +
    • 由于文件摘要的分析滞后于网络传输,本系统不保证首次文件下载时的阻断效果
    • +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ysp/picture_sample.html b/src/main/webapp/online-help/ysp/picture_sample.html new file mode 100644 index 000000000..0ce8959f6 --- /dev/null +++ b/src/main/webapp/online-help/ysp/picture_sample.html @@ -0,0 +1,202 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 图片样例匹配功能,可对网络流量中的图片内容进行分析,找出与用户配置的图片样例相匹配的图片流量,并执行阻断与监测动作,产生日志 +
    +
    +
    +
    + +
    +
    +
      +
    • 规则名称:统一填写
    • +
    • 执行动作:阻断与监测(统一填写)
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 源文件:上传本地图片文件,将以该文件中包含的图片画面信息与流量中传输的图片进行匹配,命中后执行配置动作,产生日志
    • +
    • 置信度:当执行动作为监测时,用户可指定匹配命中的最小置信度,置信度可选值为70、80、90、100
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • 支持的上传图片格式为:bmp,jpg,tiff,raw,gif
    • +
    +
    +
    +
    + +
    + +
    +
    + 统一填写 +
    +
    +
    +
    + +
    +
    +
      +
    • 统一填写
    • + +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 阻断效果:客户端访问某图片命中图片样例配置后,会生成该图片的传输特征,后续对该图片的访问直接依据传输特征进行阻断
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 对于图片文件大于4MB的图片,本系统不予支持
    • +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ysp/video_sample.html b/src/main/webapp/online-help/ysp/video_sample.html new file mode 100644 index 000000000..b3544a08e --- /dev/null +++ b/src/main/webapp/online-help/ysp/video_sample.html @@ -0,0 +1,205 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 视频样例匹配功能,可对网络流量中的视频内容进行分析,找出与用户配置的视频样例相匹配的视频流量,并执行阻断与监测动作,产生日志 +
    +
    +
    +
    + +
    +
    +
      +
    • 规则名称:统一填写
    • +
    • 执行动作:(阻断与监测)统一填写
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 源文件:上传本地视频文件,将以该文件中包含的视频画面信息与流量中传输的视频进行匹配,命中后执行配置动作,产生日志
    • +
    • 置信度:当执行动作为监测时,用户可指定匹配命中的最小置信度,置信度可选值为70、80、90、100
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • 上传的本地视频文件大小应不大于20MB
    • +
    • 上传的本地视频文件时长应不大于2分钟
    • +
    • 支持的本地视频文件格式为:mp4,flv,asf,wmv,avi,mpeg,mov,dat,m4v,m4p,m4b,webm
    • +
    +
    +
    +
    + +
    + +
    +
    + 统一填写 +
    +
    +
    +
    + +
    +
    +
      +
    • 统一填写
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 首次分析阻断效果:命中样例配置后,客户端收到NTC系统发送的虚假RST报文,如此时该视频未缓存或下载完成,则中断当前视频的播放或下载
    • +
    • 后续访问阻断效果:首次分析命中后,会生成该视频的传输特征,后续访问直接依据传输特征进行阻断
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 对于音视频编码的索引信息在音视频文件尾部的情况,本系统不予支持
    • +
    • 对于分辨率大于4兆的视频,本系统不予支持
    • +
    • 由于音视频内容分析滞后于网络传输,本系统不保证首次观看音视频时的阻断效果
    • +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ysp/video_scene.html b/src/main/webapp/online-help/ysp/video_scene.html new file mode 100644 index 000000000..ab32e55b5 --- /dev/null +++ b/src/main/webapp/online-help/ysp/video_scene.html @@ -0,0 +1,202 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + 视频场景检测功能,可检测出网络中传输的包含视频色情场景的流量,并根据用户配置,进行阻断或监测,产生日志 +
    +
    +
    +
    + +
    +
    +
      +
    • 执行动作:(阻断与监测)统一填写
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 置信度:当执行动作为监测时,用户可指定匹配命中的最小置信度,置信度可选值为70、80、90、100
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • + +
    +
    +
    +
    + +
    + +
    +
    + 统一填写 +
    +
    +
    +
    + +
    +
    +
      +
    • 统一填写
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 首次分析阻断效果:检测到色情场景后,客户端收到NTC系统发送的虚假RST报文,如此时该视频未缓存或下载完成,则中断当前视频的播放或下载
    • +
    • 后续访问阻断效果:首次分析命中后,会生成该视频的传输特征,后续访问直接通过传输特征进行阻断
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 对于音视频编码的索引信息在音视频文件尾部的情况,本系统不予支持
    • +
    • 对于分辨率大于4兆的视频,本系统不予支持
    • +
    • 由于音视频内容分析滞后于网络传输,本系统不保证首次观看音视频时的阻断效果
    • +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/online-help/ysp/voip_sample.html b/src/main/webapp/online-help/ysp/voip_sample.html new file mode 100644 index 000000000..714b30251 --- /dev/null +++ b/src/main/webapp/online-help/ysp/voip_sample.html @@ -0,0 +1,200 @@ + + + + + + + + + + +online help + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + VOIP样例匹配功能,可对VOIP流量中的语音内容进行分析,找出与用户配置的音频样例相匹配的VOIP流量,并执行阻断与监测动作,产生日志 +
    +
    +
    +
    + +
    +
    +
      +
    • 规则名称:统一填写
    • +
    • 执行动作:(阻断与监测)统一填写
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 源文件:上传本地音频文件,将以该文件中包含的音频信息与流量中传输的VOIP音频内容进行匹配,命中后执行配置动作,产生日志
    • +
    • 置信度:当执行动作为监测时,用户可指定匹配命中的最小置信度,置信度可选值为70、80、90、100
    • +
    + +
    +
    +
    +
    + +
    +
    +
      +
    • 上传的本地音频文件大小应不大于20MB
    • +
    • 上传的本地音频文件时长应不大于2分钟
    • +
    • 支持的本地音频文件格式为:mp4,flv,asf,wmv,avi,mpeg,mov,dat,m4v,m4p,m4b,webm,ogv,wav,mp3
    • +
    +
    +
    +
    + +
    + +
    +
    + 统一填写 +
    +
    +
    +
    + +
    +
    +
      +
    • 统一填写
    • +
    +
    +
    +
    +
    + +
    +
    +
      +
    • 阻断效果:命中配置后,通过串联设备临时规则,丢弃后续传输报文,已接通的VOIP电话不中断,但无后继语音内容
    • +
    +
    +
    +
    +
    + +
    +
    + 无 +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/static/global/css/layout.css b/src/main/webapp/static/global/css/layout.css index ce4f89a81..1c32bf20c 100644 --- a/src/main/webapp/static/global/css/layout.css +++ b/src/main/webapp/static/global/css/layout.css @@ -31,15 +31,15 @@ a:hover,a:focus{outline:none;text-decoration: none;} /** * 发展历程 */ -.process-timeline{ height: 387px; width: 98%; position: relative; overflow:hidden;margin-right: 10px} -.process-timeline:after{content:"";position:absolute;top:48%;left:0;margin-left:0;background:url('../img/development_timeline.png') repeat-x; height:15px; width:98%; display:block} -.process-timeline .process-body{ position: relative; height: 100%; margin-left: 0;} +.process-timeline{ height: 387px; width: 98%; position: relative; overflow:hidden;margin-right: 25px} +.process-timeline:after{content:"";position:absolute;top:48%;left:0;margin-left:0; overflow:hidden;background:url('../img/development_timeline.png') repeat-x; height:15px; width:98%; display:block} +.process-timeline .process-body{ position: relative; height: 100%; margin-left: 0; overflow:hidden;} .process-timeline .process-row{ cursor:move; display: inline-block; width: 150px; float: left; margin-top: 30px; position: relative; height: 300px;overflow:hidden;} .process-timeline .process-row .process-time{ position: absolute; top: 48.7%; left: 10%; -wekit-top:48.8%;} .process-timeline .process-row .process-time .time-con{ position: relative; text-align: center; } .process-timeline .process-row .process-time .time-con .pic{position: absolute; } .process-timeline .process-row .process-time .time-con .pic i{ font-size: 100px; color: #666; } -.process-timeline .process-row .process-time .time-con .year{ position: absolute; font-size: 9px; color:#000; padding: 20px 5px 0 5px;margin-left: 5px;} +.process-timeline .process-row .process-time .time-con .year{ position: absolute; font-size: 9px; color:#000; padding: 20px 5px 0 5px;margin-left: 5px; overflow:hidden;} .process-timeline .process-row .process-time .time-con .bgcolor{ position: absolute; border-radius: 100%; margin-top: 48px; margin-left: 10px; width: 40px; height: 40px; } .process-timeline .process-row .process-time .time-con .bgcolor.red{ background: red;} @@ -51,7 +51,7 @@ a:hover,a:focus{outline:none;text-decoration: none;} .process-timeline .process-row .process-time .time-con .orange i{ color: #ff9900;} -.process-timeline .process-row .process-noyear { position: absolute; top: 43%; width: 200px; font-size: 16px;margin-left: 20px} +.process-timeline .process-row .process-noyear { position: absolute; top: 43%; width: 200px; font-size: 16px;margin-left: 20px; overflow:hidden;margin-right:20px} .process-timeline .process-row .process-content{padding-bottom: 40px; } .process-timeline .process-row .process-content h2{ font-size: 16px; text-align: center;} .process-timeline .process-row .process-content p{text-indent: 0 !important; font-size: 11px !important; height: 180px;color: #888; white-space:normal; } diff --git a/src/main/webapp/static/global/plugins/bootstrap/css/bootstrap.css b/src/main/webapp/static/global/plugins/bootstrap/css/bootstrap.css index 3d5b41284..154fc723b 100644 --- a/src/main/webapp/static/global/plugins/bootstrap/css/bootstrap.css +++ b/src/main/webapp/static/global/plugins/bootstrap/css/bootstrap.css @@ -2227,7 +2227,7 @@ table th[class*="col-"] { .table-responsive { overflow-x: auto; min-height: 0.01%; - position: fixed; +/* position: fixed; */ right: 14px; left: 14px; margin-top: 20px; @@ -4967,13 +4967,13 @@ button.list-group-item-danger { border-bottom-color: #337ab7; } .panel-success { - border-color: #abe7ed; } + border-color: #d6e9c6; } .panel-success > .panel-heading { - color: #27a4b0; - background-color: #abe7ed; - border-color: #abe7ed; } + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; } .panel-success > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #abe7ed; } + border-top-color: #d6e9c6; } .panel-success > .panel-heading .badge { color: #abe7ed; background-color: #27a4b0; } @@ -4997,7 +4997,7 @@ button.list-group-item-danger { .panel-warning { border-color: #f9e491; } .panel-warning > .panel-heading { - color: #c29d0b; + color: #5d4d11; background-color: #f9e491; border-color: #f9e491; } .panel-warning > .panel-heading + .panel-collapse > .panel-body { @@ -5075,7 +5075,7 @@ button.list-group-item-danger { line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; - opacity: 0.2; + opacity: 1; filter: alpha(opacity=20); } .close:hover, .close:focus { color: #000; @@ -5253,12 +5253,14 @@ button.close { padding: 0 5px; } .tooltip-inner { - max-width: 200px; + max-width: 400px; padding: 3px 8px; color: #fff; text-align: center; background-color: #000; - border-radius: 4px; } + border-radius:4px !important; + + } .tooltip-arrow { position: absolute; diff --git a/src/main/webapp/static/global/scripts/common.js b/src/main/webapp/static/global/scripts/common.js index 70c74d5bd..eaed09098 100644 --- a/src/main/webapp/static/global/scripts/common.js +++ b/src/main/webapp/static/global/scripts/common.js @@ -662,6 +662,10 @@ window.onload=function(){ $("#searchForm [name='capIp']").attr("placeholder","IPv4 0.0.0.0 or IPv6 ::"); $("#searchForm [name='sIp']").attr("placeholder","IPv4 0.0.0.0 or IPv6 ::"); $("#searchForm [name='dIp']").attr("placeholder","IPv4 0.0.0.0 or IPv6 ::"); + $("#searchForm [name='rtpDIp']").attr("placeholder","IPv4 0.0.0.0 or IPv6 ::"); + $("#searchForm [name='rtpSIp']").attr("placeholder","IPv4 0.0.0.0 or IPv6 ::"); + $("#searchForm [name='sipDIp']").attr("placeholder","IPv4 0.0.0.0 or IPv6 ::"); + $("#searchForm [name='sipSIp']").attr("placeholder","IPv4 0.0.0.0 or IPv6 ::"); // 动态调整日志页搜索框的样式,防止validate的错误提示导致样式错乱 var igHeight = $("#searchForm").find(".col-md-12").find(".pull-left").find(".input-group").height(); $("#searchForm").find(".col-md-12").find(".pull-left").find(".input-group").bind("DOMNodeInserted",function(e) { diff --git a/src/main/webapp/static/pages/scripts/importExcel.js b/src/main/webapp/static/pages/scripts/importExcel.js index efdd42b53..40718e18c 100644 --- a/src/main/webapp/static/pages/scripts/importExcel.js +++ b/src/main/webapp/static/pages/scripts/importExcel.js @@ -113,7 +113,8 @@ var importCfg=function(){ return ; } var appFlag=true; - if(($("#functionId").val() == 63)||($("#functionId").val() == 408)||($("#functionId").val() == 407)){ + if(($("#functionId").val() == 63)||($("#functionId").val() == 408)||($("#functionId").val() == 407)|| + ($("#functionId").val() == 402)||($("#functionId").val() == 403)||($("#functionId").val() == 405)){ var appIdValue=$("#appIdName").val(); if(appIdValue == null || appIdValue ==''){ appFlag=false;