Merge branch 'develop' of http://10.0.6.99/gwall/gwall.git into develop
This commit is contained in:
2
sqlupdate/update_video_spell_error.sql
Normal file
2
sqlupdate/update_video_spell_error.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
update function_region_dict t set t.config_region_value=insert(t.config_region_value,POSITION('vedio' in t.config_region_value),5,'video') where t.config_region_value like '%vedio%';
|
||||
update sys_menu s set s.`code`=insert(s.`code`,POSITION('vedio' in s.`code`),5,'video') where s.`code` like '%vedio%';
|
||||
@@ -6,7 +6,7 @@
|
||||
*@date 2018年2月5日 下午5:26:02
|
||||
*@version 版本号
|
||||
*/
|
||||
package com.nis.domain.configuration;
|
||||
package com.nis.domain.configuration.template;
|
||||
|
||||
import com.nis.util.excel.ExcelField;
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.nis.domain.configuration.template;
|
||||
|
||||
import com.nis.util.excel.ExcelField;
|
||||
/**
|
||||
* wx 将部分字段的标题改变,或者不需要的字段隐藏
|
||||
* 隐藏方法,对于不需要的字段或者方法,Override该字段方法,但是@ExcelField注解不需要加上了
|
||||
* @author dell
|
||||
*
|
||||
*/
|
||||
public class IpMultiplexPolicyTemplate extends IpCfgTemplate {
|
||||
@Override
|
||||
@ExcelField(title="IP",align=2,sort=3)
|
||||
public String getSrcIpAddress() {
|
||||
return super.getSrcIpAddress();
|
||||
}
|
||||
@ExcelField(title="port",align=2,sort=6)
|
||||
@Override
|
||||
public String getSrcPort() {
|
||||
// TODO Auto-generated method stub
|
||||
return super.getSrcPort();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ExcelField(title="group_name",align=2,sort=75)
|
||||
public Integer getDnsStrategyId() {
|
||||
// TODO Auto-generated method stub
|
||||
return super.getDnsStrategyId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getRatelimit() {
|
||||
// TODO Auto-generated method stub
|
||||
return super.getRatelimit();
|
||||
}
|
||||
@Override
|
||||
public String getDestPort() {
|
||||
// TODO Auto-generated method stub
|
||||
return super.getDestPort();
|
||||
}
|
||||
@Override
|
||||
public String getDestIpAddress() {
|
||||
// TODO Auto-generated method stub
|
||||
return super.getDestIpAddress();
|
||||
}
|
||||
|
||||
public String getUserRegion1() {
|
||||
// TODO Auto-generated method stub
|
||||
return super.getUserRegion1();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUserRegion2() {
|
||||
// TODO Auto-generated method stub
|
||||
return super.getUserRegion2();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUserRegion3() {
|
||||
// TODO Auto-generated method stub
|
||||
return super.getUserRegion3();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUserRegion4() {
|
||||
// TODO Auto-generated method stub
|
||||
return super.getUserRegion4();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUserRegion5() {
|
||||
// TODO Auto-generated method stub
|
||||
return super.getUserRegion5();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -663,10 +663,10 @@ public class MaatCfg implements Serializable {
|
||||
this.requestId = requestId;
|
||||
}
|
||||
public void initDefaultValue() {
|
||||
this.doLog=2;
|
||||
this.doBlackList=1;
|
||||
this.configPercent=100;
|
||||
this.configOption=1;
|
||||
this.doLog=Constants.MAAT_CFG_DOLOG_DEFAULT;
|
||||
this.doBlackList=Constants.MAAT_CFG_DOLOG_DOBLACKLIST_DEFAULT;
|
||||
this.configPercent=Constants.MAAT_CFG_DOLOG_CONFIGPERCENT_DEFAULT;
|
||||
this.configOption=Constants.MAAT_CFG_DOLOG_CONFIGOPTION_DEFAULT;
|
||||
this.startTime=new Date();
|
||||
this.endTime=DateUtils.addYears(this.startTime, 2099-Integer.parseInt(DateUtils.getYear()));
|
||||
this.fatherCfgId=0;
|
||||
|
||||
@@ -8,7 +8,28 @@ import com.google.gson.GsonBuilder;
|
||||
|
||||
public final class Constants {
|
||||
/**
|
||||
*
|
||||
* MaatConfig 默认值
|
||||
*/
|
||||
public static Integer MAAT_CFG_DOLOG_DEFAULT=Configurations.getIntProperty("maat_cfg_dolog_default", 1);
|
||||
public static Integer MAAT_CFG_DOLOG_DOBLACKLIST_DEFAULT=Configurations.getIntProperty("maat_cfg_dolog_doblacklist_default", 1);
|
||||
public static Integer MAAT_CFG_DOLOG_CONFIGPERCENT_DEFAULT=Configurations.getIntProperty("maat_cfg_dolog_configpercent_default", 100);
|
||||
public static Integer MAAT_CFG_DOLOG_CONFIGOPTION_DEFAULT=Configurations.getIntProperty("maat_cfg_dolog_configoption_default", 1);
|
||||
/**
|
||||
* iP默认值
|
||||
*/
|
||||
public static String IPV4_DEFAULT_IP_VALUE=Configurations.getStringProperty("ipv4_default_ip_value", "0.0.0.0");
|
||||
public static String IPV6_DEFAULT_IP_VALUE=Configurations.getStringProperty("ipv4_default_ip_value", "::");
|
||||
public static String IPV4_DEFAULT_IP_SUBNET_VALUE=Configurations.getStringProperty("ipv4_default_ip_subnet_value", "0.0.0.0/32");
|
||||
public static String IPV6_DEFAULT_IP_SUBNET_VALUE=Configurations.getStringProperty("ipv6_default_ip_subnet_value", "::/64");
|
||||
public static String IPV4_DEFAULT_IP_RANGE_VALUE=Configurations.getStringProperty("ipv4_default_ip_range_value", "0.0.0.0-0.0.0.0");
|
||||
public static String IPV6_DEFAULT_IP_RANGE_VALUE=Configurations.getStringProperty("ipv6_default_ip_range_value", "::-::");
|
||||
/**
|
||||
* port默认值
|
||||
*/
|
||||
public static String PORT_DEFAULT=Configurations.getStringProperty("port_default", "0");
|
||||
public static String PORT_MASK_DEFAULT=Configurations.getStringProperty("port_mask_default", "0/65535");
|
||||
/**
|
||||
*特定服务类型
|
||||
*/
|
||||
public static String SPECIFIC_SERVICE_CFG_TYPE_APP=Configurations.getStringProperty("specific_service_cfg_type_app", "social_app");
|
||||
public static String SPECIFIC_SERVICE_CFG_TYPE_ENCRYPTED_TUNNEL_BEHAVIOR=Configurations.getStringProperty("specific_service_cfg_type_encrypted_tunnel_behavior", "encrypted_tunnel_behavior");
|
||||
@@ -470,17 +491,17 @@ public final class Constants {
|
||||
//YSP文件特征配置相关参数,用于调用外部程序生成特征文件时使用
|
||||
public static final String AV_FILE_PATH = Configurations.getStringProperty("av_file_path", "/home/ysp/");
|
||||
public static final String AV_SAMPLE_AUDIO_REGION = Configurations.getStringProperty("av_sample_audio_region", "av_sample_audio");
|
||||
public static final String AV_SAMPLE_VEDIO_REGION = Configurations.getStringProperty("av_sample_vedio_region", "av_sample_vedio");
|
||||
public static final String AV_SAMPLE_VIDEO_REGION = Configurations.getStringProperty("av_sample_video_region", "av_sample_video");
|
||||
public static final String AV_SAMPLE_PICTURE_REGION = Configurations.getStringProperty("av_sample_picture_region", "av_sample_picture");
|
||||
public static final String AV_SAMPLE_VOIP_REGION = Configurations.getStringProperty("av_sample_voip_region", "av_sample_voip");
|
||||
public static final String AUDIO_SAMPLE_CREATE_PROC = Configurations.getStringProperty("audio_sample_create_proc", "./audio_convert_proc");
|
||||
public static final String VEDIO_SAMPLE_CREATE_PROC = Configurations.getStringProperty("vedio_sample_create_proc", "./vedio_convert_proc");
|
||||
public static final String VIDEO_SAMPLE_CREATE_PROC = Configurations.getStringProperty("video_sample_create_proc", "./video_convert_proc");
|
||||
public static final String PICTURE_SAMPLE_CREATE_PROC = Configurations.getStringProperty("picture_sample_create_proc", "./picture_convert_proc");
|
||||
public static final boolean AUDIO_SAMPLE_PROC_PARAM_IS_QUOTATION = Configurations.getBooleanProperty("audio_sample_proc_param_is_quotation", true);
|
||||
public static final boolean VEDIO_SAMPLE_PROC_PARAM_IS_QUOTATION = Configurations.getBooleanProperty("vedio_sample_proc_param_is_quotation", true);
|
||||
public static final boolean VIDEO_SAMPLE_PROC_PARAM_IS_QUOTATION = Configurations.getBooleanProperty("video_sample_proc_param_is_quotation", true);
|
||||
public static final boolean PICTURE_SAMPLE_PROC_PARAM_IS_QUOTATION = Configurations.getBooleanProperty("picture_sample_proc_param_is_quotation", true);
|
||||
public static final boolean AUDIO_SAMPLE_PROC_PARAM_IS_TRANSLATION = Configurations.getBooleanProperty("audio_sample_proc_param_is_translation", false);
|
||||
public static final boolean VEDIO_SAMPLE_PROC_PARAM_IS_TRANSLATION = Configurations.getBooleanProperty("vedio_sample_proc_param_is_translation", false);
|
||||
public static final boolean VIDEO_SAMPLE_PROC_PARAM_IS_TRANSLATION = Configurations.getBooleanProperty("video_sample_proc_param_is_translation", false);
|
||||
public static final boolean PICTURE_SAMPLE_PROC_PARAM_IS_TRANSLATION = Configurations.getBooleanProperty("picture_sample_proc_param_is_translation", false);
|
||||
|
||||
//HTTP自定义域相关参数
|
||||
|
||||
@@ -22,7 +22,6 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.derby.tools.sysinfo;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.CellStyle;
|
||||
import org.apache.poi.ss.usermodel.Comment;
|
||||
@@ -45,7 +44,6 @@ import com.nis.util.DictUtils;
|
||||
import com.nis.util.Encodes;
|
||||
import com.nis.util.Reflections;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.util.excel.fieldtype.RoleListType;
|
||||
|
||||
/**
|
||||
* 导出Excel文件(导出“XLSX”格式,支持大数据量导出 @see org.apache.poi.ss.SpreadsheetVersion)
|
||||
@@ -83,15 +81,31 @@ public class ExportExcel {
|
||||
|
||||
/**
|
||||
* //递归获取cls实体对象及父级对象的属性
|
||||
* wx:修改,子类覆盖父类的同名方法
|
||||
* @param list
|
||||
* @param cls
|
||||
*/
|
||||
public void getFields(List<Field> list,Class<?> cls) {
|
||||
Field[] fields=cls.getDeclaredFields();
|
||||
if(fields != null && fields.length > 0){
|
||||
List<Field> tempList=new ArrayList<>();
|
||||
for (Field field : fields) {
|
||||
list.add(field);
|
||||
if(list.size()==0) {
|
||||
tempList.add(field);
|
||||
}else {
|
||||
boolean has=false;
|
||||
for(Field checkF:list) {
|
||||
if(checkF.getName().equals(field.getName())) {
|
||||
has=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!has) {
|
||||
tempList.add(field);
|
||||
}
|
||||
}
|
||||
}
|
||||
list.addAll(tempList);
|
||||
}
|
||||
if(cls.getSuperclass() != null){
|
||||
getFields(list,cls.getSuperclass());
|
||||
@@ -105,9 +119,24 @@ public class ExportExcel {
|
||||
public void getMethods(List<Method> list,Class<?> cls) {
|
||||
Method[] methods=cls.getDeclaredMethods();
|
||||
if(methods != null && methods.length > 0){
|
||||
List<Method> tempList=new ArrayList<>();
|
||||
for (Method method : methods) {
|
||||
list.add(method);
|
||||
if(list.size()==0) {
|
||||
tempList.add(method);
|
||||
}else {
|
||||
boolean has=false;
|
||||
for(Method checkM:list) {
|
||||
if(checkM.getName().equals(method.getName())) {
|
||||
has=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!has) {
|
||||
tempList.add(method);
|
||||
}
|
||||
}
|
||||
}
|
||||
list.addAll(tempList);
|
||||
}
|
||||
if(cls.getSuperclass() != null){
|
||||
getMethods(list,cls.getSuperclass());
|
||||
@@ -254,6 +283,9 @@ public class ExportExcel {
|
||||
if(!StringUtil.isEmpty(ms)){
|
||||
for (Method m : ms){
|
||||
ExcelField ef = m.getAnnotation(ExcelField.class);
|
||||
if(m.getName().equals("getSrcIpAddress")) {
|
||||
System.out.println(ef.title());
|
||||
}
|
||||
if (ef != null && (ef.type()==0 || ef.type()==type)){
|
||||
if (groups!=null && groups.length>0){
|
||||
boolean inGroup = false;
|
||||
|
||||
@@ -9,6 +9,7 @@ import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
@@ -211,7 +212,69 @@ public class ImportExcel {
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
||||
/**
|
||||
* //递归获取cls实体对象及父级对象的属性
|
||||
* wx:修改,子类覆盖父类的同名方法
|
||||
* @param list
|
||||
* @param cls
|
||||
*/
|
||||
public void getFields(List<Field> list,Class<?> cls) {
|
||||
Field[] fields=cls.getDeclaredFields();
|
||||
if(fields != null && fields.length > 0){
|
||||
List<Field> tempList=new ArrayList<>();
|
||||
for (Field field : fields) {
|
||||
if(list.size()==0) {
|
||||
tempList.add(field);
|
||||
}else {
|
||||
boolean has=false;
|
||||
for(Field checkF:list) {
|
||||
if(checkF.getName().equals(field.getName())) {
|
||||
has=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!has) {
|
||||
tempList.add(field);
|
||||
}
|
||||
}
|
||||
}
|
||||
list.addAll(tempList);
|
||||
}
|
||||
if(cls.getSuperclass() != null){
|
||||
getFields(list,cls.getSuperclass());
|
||||
}
|
||||
}
|
||||
/**
|
||||
* //递归获取cls实体对象及父级对象的method
|
||||
* @param list
|
||||
* @param cls
|
||||
*/
|
||||
public void getMethods(List<Method> list,Class<?> cls) {
|
||||
Method[] methods=cls.getDeclaredMethods();
|
||||
if(methods != null && methods.length > 0){
|
||||
List<Method> tempList=new ArrayList<>();
|
||||
for (Method method : methods) {
|
||||
if(list.size()==0) {
|
||||
tempList.add(method);
|
||||
}else {
|
||||
boolean has=false;
|
||||
for(Method checkM:list) {
|
||||
if(checkM.getName().equals(method.getName())) {
|
||||
has=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!has) {
|
||||
tempList.add(method);
|
||||
}
|
||||
}
|
||||
}
|
||||
list.addAll(tempList);
|
||||
}
|
||||
if(cls.getSuperclass() != null){
|
||||
getMethods(list,cls.getSuperclass());
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 获取导入数据列表
|
||||
* @param cls 导入对象类型
|
||||
@@ -220,7 +283,11 @@ public class ImportExcel {
|
||||
public <E> List<E> getDataList(Class<E> cls, int... groups) throws InstantiationException, IllegalAccessException{
|
||||
List<Object[]> annotationList = Lists.newArrayList();
|
||||
// Get annotation field
|
||||
Field[] fs = cls.getDeclaredFields();
|
||||
// Field[] fs = cls.getDeclaredFields();
|
||||
List<Field> fs=new ArrayList<Field>();
|
||||
// Get annotation field
|
||||
//递归获取cls实体对象及父级对象的属性
|
||||
getFields(fs, cls);
|
||||
for (Field f : fs){
|
||||
ExcelField ef = f.getAnnotation(ExcelField.class);
|
||||
if (ef != null && (ef.type()==0 || ef.type()==2)){
|
||||
@@ -244,7 +311,11 @@ public class ImportExcel {
|
||||
}
|
||||
}
|
||||
// Get annotation method
|
||||
Method[] ms = cls.getDeclaredMethods();
|
||||
// Method[] ms = cls.getDeclaredMethods();
|
||||
List<Method> ms=new ArrayList<Method>();
|
||||
// Get annotation method
|
||||
//递归获取cls实体对象及父级对象的属性
|
||||
getMethods(ms, cls);
|
||||
for (Method m : ms){
|
||||
ExcelField ef = m.getAnnotation(ExcelField.class);
|
||||
if (ef != null && (ef.type()==0 || ef.type()==2)){
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.beust.jcommander.internal.Lists;
|
||||
import com.nis.domain.FunctionRegionDict;
|
||||
import com.nis.domain.FunctionServiceDict;
|
||||
import com.nis.domain.SysDataDictionaryItem;
|
||||
import com.nis.domain.basics.PolicyGroupInfo;
|
||||
import com.nis.domain.basics.ServiceDictInfo;
|
||||
import com.nis.domain.basics.SysDictInfo;
|
||||
import com.nis.domain.configuration.AreaBean;
|
||||
@@ -39,7 +40,7 @@ import com.nis.domain.configuration.AreaIpCfg;
|
||||
import com.nis.domain.configuration.BaseCfg;
|
||||
import com.nis.domain.configuration.BaseIpCfg;
|
||||
import com.nis.domain.configuration.ComplexStringCfgTemplate;
|
||||
import com.nis.domain.configuration.IpCfgTemplate;
|
||||
import com.nis.domain.configuration.template.IpCfgTemplate;
|
||||
import com.nis.domain.configuration.RequestInfo;
|
||||
import com.nis.domain.configuration.StringCfgTemplate;
|
||||
import com.nis.domain.log.BaseLogEntity;
|
||||
@@ -584,6 +585,38 @@ public class BaseController {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
public void importCfgTemplate(HttpServletRequest request,HttpServletResponse response,
|
||||
RedirectAttributes redirectAttributes,Integer functionId,Integer cfgRegionCode,Class clazz){
|
||||
Properties msgProp = getMsgProp();
|
||||
try {
|
||||
List<FunctionRegionDict> dictList = DictUtils.getFunctionRegionDictList(functionId);
|
||||
for(FunctionRegionDict dict:dictList){
|
||||
if(dict.getConfigRegionCode()==cfgRegionCode){
|
||||
String fileName = dict.getConfigRegionValue()+".xlsx";
|
||||
if(dict.getRegionType()==1){
|
||||
List<IpCfgTemplate> list = Lists.newArrayList();
|
||||
list.add((IpCfgTemplate)clazz.newInstance());
|
||||
new ExportExcel(msgProp,null, clazz, 2).setDataList(msgProp,list,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}else if(dict.getRegionType()==2){
|
||||
List<StringCfgTemplate> list = Lists.newArrayList();
|
||||
list.add(new StringCfgTemplate());
|
||||
new ExportExcel(msgProp,null, clazz, 2).setDataList(msgProp,list,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}else if(dict.getRegionType()==3){
|
||||
List<ComplexStringCfgTemplate> list = Lists.newArrayList();
|
||||
list.add(new ComplexStringCfgTemplate());
|
||||
new ExportExcel(msgProp,null, clazz, 2).setDataList(msgProp,list,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
msgProp = null;
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setLogAction(BaseLogEntity log) {
|
||||
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
|
||||
@@ -706,20 +739,67 @@ public class BaseController {
|
||||
// ip_pattern check end
|
||||
//client_ip check start
|
||||
String srcIp=value.getSrcIpAddress();
|
||||
String _msg=checkIP(prop,prop.getProperty("client_ip"),srcIp,ipTypeString,ipPatternString);
|
||||
String _msg="";
|
||||
if("ipmulitiplex".equals(specialItem)) {
|
||||
_msg=checkIP(prop,prop.getProperty("IP"),srcIp,ipTypeString,ipPatternString);
|
||||
}else {
|
||||
_msg=checkIP(prop,prop.getProperty("client_ip"),srcIp,ipTypeString,ipPatternString);
|
||||
}
|
||||
if(StringUtils.isNotBlank(_msg)){
|
||||
errInfo.append(_msg);
|
||||
}
|
||||
//client_ip check end
|
||||
//server_ip check start
|
||||
String destIp=value.getDestIpAddress();
|
||||
if(srcIp.equals(destIp)){
|
||||
String info=String.format(prop.getProperty("are_the_same"),prop.getProperty("client_ip"),prop.getProperty("server_ip"));
|
||||
errInfo.append(info+";");
|
||||
}
|
||||
_msg=checkIP(prop,prop.getProperty("server_ip"),destIp,ipTypeString,ipPatternString);
|
||||
if(StringUtils.isNotBlank(_msg)){
|
||||
errInfo.append(_msg);
|
||||
if("ipmulitiplex".equals(specialItem)) {//set 默认值
|
||||
if(ipPattern!=null&&ipType!=null) {
|
||||
if("ip_subnet".equals(ipPatternString)) {
|
||||
if("ipv4".equals(ipTypeString)) {
|
||||
value.setDestIpAddress(Constants.IPV4_DEFAULT_IP_SUBNET_VALUE);
|
||||
}else if("ipv6".equals(ipTypeString)) {
|
||||
value.setDestIpAddress(Constants.IPV6_DEFAULT_IP_SUBNET_VALUE);
|
||||
}else if("4over6".equals(ipTypeString)) {
|
||||
value.setDestIpAddress(Constants.IPV6_DEFAULT_IP_SUBNET_VALUE);
|
||||
}else if("6over4".equals(ipTypeString)) {
|
||||
value.setDestIpAddress(Constants.IPV4_DEFAULT_IP_SUBNET_VALUE);
|
||||
}else if("all".equals(ipTypeString)) {
|
||||
|
||||
}
|
||||
}else if("ip_range".equals(ipPatternString)) {
|
||||
if("ipv4".equals(ipTypeString)) {
|
||||
value.setDestIpAddress(Constants.IPV4_DEFAULT_IP_RANGE_VALUE);
|
||||
}else if("ipv6".equals(ipTypeString)) {
|
||||
value.setDestIpAddress(Constants.IPV6_DEFAULT_IP_RANGE_VALUE);
|
||||
}else if("4over6".equals(ipTypeString)) {
|
||||
value.setDestIpAddress(Constants.IPV6_DEFAULT_IP_RANGE_VALUE);
|
||||
}else if("6over4".equals(ipTypeString)) {
|
||||
value.setDestIpAddress(Constants.IPV4_DEFAULT_IP_RANGE_VALUE);
|
||||
}else if("all".equals(ipTypeString)) {
|
||||
|
||||
}
|
||||
}else if("ip".equals(ipPatternString)) {
|
||||
if("ipv4".equals(ipTypeString)) {
|
||||
value.setDestIpAddress(Constants.IPV4_DEFAULT_IP_VALUE);
|
||||
}else if("ipv6".equals(ipTypeString)) {
|
||||
value.setDestIpAddress(Constants.IPV6_DEFAULT_IP_VALUE);
|
||||
}else if("4over6".equals(ipTypeString)) {
|
||||
value.setDestIpAddress(Constants.IPV6_DEFAULT_IP_VALUE);
|
||||
}else if("6over4".equals(ipTypeString)) {
|
||||
value.setDestIpAddress(Constants.IPV4_DEFAULT_IP_VALUE);
|
||||
}else if("all".equals(ipTypeString)) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if(srcIp.equals(destIp)){
|
||||
String info=String.format(prop.getProperty("are_the_same"),prop.getProperty("client_ip"),prop.getProperty("server_ip"));
|
||||
errInfo.append(info+";");
|
||||
}
|
||||
_msg=checkIP(prop,prop.getProperty("server_ip"),destIp,ipTypeString,ipPatternString);
|
||||
if(StringUtils.isNotBlank(_msg)){
|
||||
errInfo.append(_msg);
|
||||
}
|
||||
}
|
||||
//server_ip check end
|
||||
//port_pattern check start
|
||||
@@ -743,14 +823,29 @@ public class BaseController {
|
||||
//port_pattern check end
|
||||
//src_port check start
|
||||
String srcPort=value.getSrcPort();
|
||||
_msg=checkPort(prop,prop.getProperty("client_port"), srcPort, portPatternString);
|
||||
if("ipmulitiplex".equals(specialItem)) {
|
||||
_msg=checkPort(prop,prop.getProperty("port"), srcPort, portPatternString);
|
||||
}else {
|
||||
_msg=checkPort(prop,prop.getProperty("client_port"), srcPort, portPatternString);
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(_msg)){
|
||||
errInfo.append(_msg);
|
||||
}
|
||||
//src_port check end
|
||||
//dest_port check start
|
||||
String destPort=value.getDestPort();
|
||||
_msg=checkPort(prop,prop.getProperty("server_port"), destPort, portPatternString);
|
||||
if("ipmulitiplex".equals(specialItem)) {//set 默认值
|
||||
if(portPattern!=null) {
|
||||
if("port_mask".equals(portPatternString)) {
|
||||
value.setDestPort(Constants.PORT_MASK_DEFAULT);
|
||||
}else if("port".equals(portPatternString)) {
|
||||
value.setDestPort(Constants.PORT_DEFAULT);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
_msg=checkPort(prop,prop.getProperty("server_port"), destPort, portPatternString);
|
||||
}
|
||||
if(StringUtils.isNotBlank(_msg)){
|
||||
errInfo.append(_msg);
|
||||
}
|
||||
@@ -899,6 +994,46 @@ public class BaseController {
|
||||
errInfo.append(String.format(prop.getProperty("num_split_by_comma"), prop.getProperty("label"))+";");
|
||||
}
|
||||
}
|
||||
//group and ir_type check start
|
||||
if("ipmulitiplex".equals(specialItem)) {
|
||||
List<SysDataDictionaryItem> irTypeList = DictUtils.getDictList("IR_TYPE");
|
||||
Integer irType= value.getIrType();
|
||||
if(irType==null) {
|
||||
errInfo.append(String.format(prop.getProperty("can_not_null"), prop.getProperty("ir_type"))+";");
|
||||
}else {
|
||||
boolean has=false;
|
||||
for(SysDataDictionaryItem irTypeItem:irTypeList){
|
||||
if(Integer.parseInt(irTypeItem.getItemCode())==protocol.intValue()){
|
||||
has=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!has){
|
||||
errInfo.append(String.format(prop.getProperty("is_incorrect"), prop.getProperty("ir_type"))+";");
|
||||
}
|
||||
}
|
||||
Integer dnsStrategyId=value.getDnsStrategyId();
|
||||
if(dnsStrategyId==null) {
|
||||
errInfo.append(String.format(prop.getProperty("can_not_null"), prop.getProperty("group_name"))+";");
|
||||
}else {
|
||||
PolicyGroupInfo group=policyGroupInfoService.getById(dnsStrategyId.intValue());
|
||||
if(group==null) {
|
||||
errInfo.append(String.format(prop.getProperty("id_not_exists"),dnsStrategyId, prop.getProperty("group_name"))+";");
|
||||
}else if(group.getIsValid()==Constants.VALID_DEL||group.getIsValid()==Constants.VALID_NO) {
|
||||
errInfo.append(String.format(prop.getProperty("id_not_valid"),dnsStrategyId, prop.getProperty("group_name"))+";");
|
||||
}
|
||||
}
|
||||
}
|
||||
if("ipratelimit".equals(specialItem)) {
|
||||
Integer ratelimit=value.getRatelimit();
|
||||
if(ratelimit==null) {
|
||||
errInfo.append(String.format(prop.getProperty("can_not_null"), prop.getProperty("ratelimit"))+";");
|
||||
}else {
|
||||
if(ratelimit.intValue()<0||ratelimit.intValue()>100) {
|
||||
errInfo.append(prop.getProperty("ratelimit_limit")+";");
|
||||
}
|
||||
}
|
||||
}
|
||||
//attribute check end
|
||||
if(StringUtils.isNotBlank(errInfo.toString())){
|
||||
msg.append(lineStart).append(errInfo);
|
||||
@@ -906,6 +1041,7 @@ public class BaseController {
|
||||
msg.append("<br/>");
|
||||
}
|
||||
}
|
||||
//group and ir_type check end
|
||||
line++;
|
||||
}
|
||||
if(StringUtils.isNotBlank(msg.toString())){
|
||||
|
||||
@@ -28,7 +28,7 @@ import com.nis.domain.Page;
|
||||
import com.nis.domain.basics.ServiceDictInfo;
|
||||
import com.nis.domain.configuration.BaseIpCfg;
|
||||
import com.nis.domain.configuration.HttpUrlCfg;
|
||||
import com.nis.domain.configuration.IpCfgTemplate;
|
||||
import com.nis.domain.configuration.template.IpCfgTemplate;
|
||||
import com.nis.domain.configuration.IpPortCfg;
|
||||
import com.nis.exceptions.MaatConvertException;
|
||||
import com.nis.util.Constants;
|
||||
@@ -240,10 +240,42 @@ public class CommonController extends BaseController {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
public void _importIp(String cfgName,RedirectAttributes redirectAttributes,MultipartFile file,IpPortCfg ipCfg,Class clazz) {
|
||||
redirectAttributes.addAttribute("cfgName", cfgName);
|
||||
try {
|
||||
ImportExcel ei = new ImportExcel(file, 0, 0);
|
||||
List<IpCfgTemplate> list = ei.getDataList(clazz);
|
||||
this.checkIpCfg(ipCfg.getFunctionId(),list);
|
||||
List<BaseIpCfg> ipList = new ArrayList<>();
|
||||
Date date=new Date();
|
||||
for(IpCfgTemplate cfg : list){
|
||||
IpPortCfg ip = new IpPortCfg();
|
||||
BeanUtils.copyProperties(ipCfg, ip);
|
||||
BeanUtils.copyProperties(cfg, ip);
|
||||
ip.setTableName(IpPortCfg.getTablename());
|
||||
ip.setIsAreaEffective(0);
|
||||
ip.setIsValid(Constants.VALID_NO);
|
||||
ip.setIsAudit(Constants.AUDIT_NOT_YET);
|
||||
ip.setCreatorId(ipCfg.getCurrentUser().getId());
|
||||
ip.setCreateTime(date);
|
||||
ip.setCompileId(ipCfgService.getCompileId());
|
||||
ip.setDnsStrategyId((long)cfg.getDnsStrategyId().intValue());
|
||||
ipList.add(ip);
|
||||
}
|
||||
ipCfgService.saveBatch(ipList, IpCfgDao.class);
|
||||
} catch (Exception e) {
|
||||
addMessage(redirectAttributes, e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
public void _importFileTemplate(HttpServletRequest request,HttpServletResponse response,
|
||||
RedirectAttributes redirectAttributes,Integer functionId,Integer cfgRegionCode) {
|
||||
this.importCfgTemplate(request, response, redirectAttributes, functionId, cfgRegionCode);
|
||||
}
|
||||
public void _importFileTemplate(HttpServletRequest request,HttpServletResponse response,
|
||||
RedirectAttributes redirectAttributes,Integer functionId,Integer cfgRegionCode,Class clazz) {
|
||||
this.importCfgTemplate(request, response, redirectAttributes, functionId, cfgRegionCode,clazz);
|
||||
}
|
||||
//ip配置导出
|
||||
public void _exportIp(String columns,Model model,HttpServletRequest request,HttpServletResponse response,
|
||||
IpPortCfg entity,String ids,RedirectAttributes redirectAttributes){
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.nis.domain.SysDataDictionaryItem;
|
||||
import com.nis.domain.basics.PolicyGroupInfo;
|
||||
import com.nis.domain.configuration.BaseIpCfg;
|
||||
import com.nis.domain.configuration.IpPortCfg;
|
||||
import com.nis.domain.configuration.template.IpMultiplexPolicyTemplate;
|
||||
import com.nis.util.DictUtils;
|
||||
import com.nis.web.controller.configuration.CommonController;
|
||||
|
||||
@@ -93,7 +94,7 @@ public class IpMultiplexController extends CommonController {
|
||||
@RequestMapping(value = "/import", method=RequestMethod.POST)
|
||||
public String importIp(String cfgName,RedirectAttributes redirectAttributes,
|
||||
@RequestParam("file") MultipartFile file,IpPortCfg cfg) {
|
||||
this._importIp(cfgName,redirectAttributes, file,cfg);
|
||||
this._importIp(cfgName,redirectAttributes, file,cfg,IpMultiplexPolicyTemplate.class);
|
||||
redirectAttributes.addAttribute("urlPrefix","/manipulation/ipmulitiplex");
|
||||
redirectAttributes.addAttribute("requiresPermissionPrefix","ip:mulitiplex");
|
||||
return "redirect:" + adminPath +"/manipulation/ipmulitiplex/list?functionId="+cfg.getFunctionId();
|
||||
@@ -102,7 +103,7 @@ public class IpMultiplexController extends CommonController {
|
||||
@RequestMapping(value = "import/template")
|
||||
public void importFileTemplate(HttpServletRequest request,HttpServletResponse response,
|
||||
RedirectAttributes redirectAttributes,Integer functionId,Integer cfgRegionCode) {
|
||||
this._importFileTemplate(request, response, redirectAttributes, functionId, cfgRegionCode);
|
||||
this._importFileTemplate(request, response, redirectAttributes, functionId, cfgRegionCode,IpMultiplexPolicyTemplate.class);
|
||||
}
|
||||
//ip配置导出
|
||||
@RequestMapping(value = "export")
|
||||
|
||||
@@ -25,7 +25,7 @@ import com.nis.domain.configuration.CfgIndexInfo;
|
||||
import com.nis.domain.configuration.ComplexkeywordCfg;
|
||||
import com.nis.domain.configuration.DnsResStrategy;
|
||||
import com.nis.domain.configuration.ComplexStringCfgTemplate;
|
||||
import com.nis.domain.configuration.IpCfgTemplate;
|
||||
import com.nis.domain.configuration.template.IpCfgTemplate;
|
||||
import com.nis.domain.configuration.StringCfgTemplate;
|
||||
import com.nis.domain.configuration.HttpBodyCfg;
|
||||
import com.nis.domain.configuration.HttpReqHeadCfg;
|
||||
|
||||
@@ -151,12 +151,12 @@ public class AvCfgService extends BaseService{
|
||||
if(Constants.AUDIO_SAMPLE_PROC_PARAM_IS_QUOTATION){//json参数是否需要前后单引号处理
|
||||
param = "'"+param+"'";
|
||||
}
|
||||
}else if(entity.getCfgType().equals(Constants.AV_SAMPLE_VEDIO_REGION)){//视频样例配置
|
||||
sampleCreatelProc = Constants.VEDIO_SAMPLE_CREATE_PROC;
|
||||
if(Constants.VEDIO_SAMPLE_PROC_PARAM_IS_TRANSLATION){
|
||||
}else if(entity.getCfgType().equals(Constants.AV_SAMPLE_VIDEO_REGION)){//视频样例配置
|
||||
sampleCreatelProc = Constants.VIDEO_SAMPLE_CREATE_PROC;
|
||||
if(Constants.VIDEO_SAMPLE_PROC_PARAM_IS_TRANSLATION){
|
||||
param = StringEscapeUtils.escapeJava(param);
|
||||
}
|
||||
if(Constants.VEDIO_SAMPLE_PROC_PARAM_IS_QUOTATION){//json参数是否需要前后单引号处理
|
||||
if(Constants.VIDEO_SAMPLE_PROC_PARAM_IS_QUOTATION){//json参数是否需要前后单引号处理
|
||||
param = "'"+param+"'";
|
||||
}
|
||||
}else if(entity.getCfgType().equals(Constants.AV_SAMPLE_PICTURE_REGION)){//图片样例配置
|
||||
|
||||
@@ -541,11 +541,11 @@ av_voip_control=VoIP control
|
||||
av_voip_ip_control=VoIP IP control
|
||||
av_voip_account_control=VoIP account control
|
||||
av_sample_audio_control=audio sample control
|
||||
av_sample_vedio_control=vedio sample control
|
||||
av_sample_video_control=video sample control
|
||||
av_sample_picture_control=picture sample control
|
||||
av_sample_voip_control=VoIP sample control
|
||||
av_sample_audio_porn_control=audio porn sample control
|
||||
av_sample_vedio_porn_control=vedio porn sample control
|
||||
av_sample_video_porn_control=video porn sample control
|
||||
av_sample_control=sample control
|
||||
configure_statistics_info=Configure statistics info
|
||||
harm_level=harm level
|
||||
@@ -683,7 +683,7 @@ ip_intercept=ip intercept
|
||||
domain_intercept=domain intercept
|
||||
control_policy=control policy
|
||||
domain_forward=domain forward
|
||||
http_redirect=http redirect
|
||||
http_redirect=HTTP redirect
|
||||
http_req_replace=http request replace
|
||||
http_res_replace=http response replace
|
||||
replace_content=replace content
|
||||
@@ -698,8 +698,8 @@ policy_group_manage=strateagy grouping management
|
||||
ip_multiplex_policy=ip multiplex policy
|
||||
target_ip_protect=target ip protect
|
||||
ratelimit_config=ratelimit config
|
||||
ip_ratelimit=ip ratelimit
|
||||
domain_ratelimit=domain ratelimit
|
||||
ip_ratelimit=IP speed limit
|
||||
domain_ratelimit=Domain speed limit
|
||||
ratelimit=ratelimit scale
|
||||
ir_type=multiplex type
|
||||
dns_strategy_id=dns strategy id
|
||||
@@ -834,10 +834,7 @@ app_http_feature_monit=APP HTTP feature monitoring
|
||||
app_domain_feature_monit=APP domain feature monitoring
|
||||
app_byte_feature_monit=APP byte feature monitoring
|
||||
proxy_domain_forward=Domain forward
|
||||
ip_ratelimit=IP speed limit
|
||||
domain_ratelimit=Domain speed limit
|
||||
ip_complex_loop=IP complex
|
||||
http_redirect=HTTP redirect
|
||||
ddos_ip_drop=DDOS IP
|
||||
ip_reuse_adress_pool_loop=IP reuse address pool
|
||||
app_strategy_monit=APP strategy monitoring
|
||||
@@ -855,4 +852,5 @@ src_ip_report=Domestic Source IP Report
|
||||
dest_ip_report=Destination Country IP Report
|
||||
isp_report=Isp Report
|
||||
#=============about report===================
|
||||
show_more=Show More
|
||||
show_more=Show More
|
||||
ratelimit_limit=Limit Rate must between 0 and 100
|
||||
@@ -397,7 +397,7 @@ login=\u767B\u5F55
|
||||
owner_company=\u5F52\u5C5E\u516C\u53F8
|
||||
company=\u516C\u53F8
|
||||
owner_group=\u5F52\u5C5E\u90E8\u95E8
|
||||
group=\u90E8\u95E8
|
||||
group=\u6240\u5C5E\u7EC4
|
||||
template=\u4E0B\u8F7D\u6A21\u677F
|
||||
export=\u5BFC\u51FA
|
||||
import=\u5BFC\u5165
|
||||
@@ -561,11 +561,11 @@ av_voip_control=\u97F3\u89C6\u9891VoIP
|
||||
av_voip_ip_control=VoIP IP
|
||||
av_voip_account_control=VoIP\u8D26\u53F7
|
||||
av_sample_audio_control=\u97F3\u9891\u6837\u4F8B
|
||||
av_sample_vedio_control=\u89C6\u9891\u6837\u4F8B
|
||||
av_sample_video_control=\u89C6\u9891\u6837\u4F8B
|
||||
av_sample_picture_control=\u56FE\u7247\u6837\u4F8B
|
||||
av_sample_voip_control=VoIP\u6837\u4F8B
|
||||
av_sample_audio_porn_control=\u97F3\u9891\u573A\u666F\u6837\u4F8B
|
||||
av_sample_vedio_porn_control=\u89C6\u9891\u573A\u666F\u6837\u4F8B
|
||||
av_sample_video_porn_control=\u89C6\u9891\u573A\u666F\u6837\u4F8B
|
||||
av_sample_control=\u97F3\u89C6\u9891\u6837\u4F8B
|
||||
configure_statistics_info=\u914D\u7F6E\u7EDF\u8BA1\u4FE1\u606F
|
||||
harm_level=\u5371\u5BB3\u7A0B\u5EA6
|
||||
@@ -773,7 +773,6 @@ all_types=\u6240\u6709\u7C7B\u578B
|
||||
group_type=\u5206\u7EC4\u7C7B\u578B
|
||||
group_name=\u5206\u7EC4\u540D\u79F0
|
||||
default_group=\u7F3A\u7701\u7EC4
|
||||
group=\u6240\u5C5E\u7EC4
|
||||
policy_group_manage=\u7B56\u7565\u5206\u7EC4\u7BA1\u7406
|
||||
#===========policy_group_manage end =============
|
||||
#=============about manipulation=========
|
||||
@@ -828,11 +827,11 @@ not_number=%s\u5FC5\u987B\u4E3A\u6570\u5B57
|
||||
#=============some validation===========
|
||||
#=============region_value,config form title=================
|
||||
av_sample_audio=\u97F3\u9891\u6837\u4F8B
|
||||
av_sample_vedio=\u89C6\u9891\u6837\u4F8B
|
||||
av_sample_video=\u89C6\u9891\u6837\u4F8B
|
||||
av_sample_picture=\u56FE\u7247\u6837\u4F8B
|
||||
av_sample_voip=VoIP\u6837\u4F8B
|
||||
av_sample_audio_porn=\u97F3\u9891\u573A\u666F\u6837\u4F8B
|
||||
av_sample_vedio_porn=\u89C6\u9891\u573A\u666F\u6837\u4F8B
|
||||
av_sample_video_porn=\u89C6\u9891\u573A\u666F\u6837\u4F8B
|
||||
WHITE_LIST_IP=IP\u767D\u540D\u5355
|
||||
av_voip_ip=VoIP IP\u914D\u7F6E
|
||||
NTC_HTTP_URL=URL\u914D\u7F6E
|
||||
@@ -900,7 +899,6 @@ redirect_response_code=\u91CD\u5B9A\u5411\u5E94\u7B54\u7801
|
||||
redirect_url=\u91CD\u5B9A\u5411URL
|
||||
replace_zone=\u66FF\u6362\u533A\u57DF
|
||||
replaced_content=\u88AB\u66FF\u6362\u5185\u5BB9
|
||||
replace_content=\u66FF\u6362\u5185\u5BB9
|
||||
http_req_uri=HTTP\u8BF7\u6C42URI
|
||||
http_req_header=HTTP\u8BF7\u6C42\u5934
|
||||
http_req_body=HTTP\u8BF7\u6C42\u5185\u5BB9
|
||||
@@ -1039,4 +1037,5 @@ trend=\u8D8B\u52BF
|
||||
traffic_website_list=\u7F51\u7AD9\u6D41\u91CF\u7EDF\u8BA1\u5217\u8868
|
||||
traffic_website_type_chart=\u7F51\u7AD9\u5206\u7C7B\u6D41\u91CF\u7EDF\u8BA1\u56FE
|
||||
website=\u7F51\u7AD9\u540D\u79F0
|
||||
#===============dashboard end===================================
|
||||
#===============dashboard end===================================
|
||||
ratelimit_limit=\u9650\u901F\u6BD4\u4F8B\u5FC5\u987B\u4ECB\u4E8E0\u5230100#===============dashboard end===================================
|
||||
@@ -378,32 +378,32 @@ digest_single_file_max_size=10485760
|
||||
#12M12582912
|
||||
digest_total_file_max_size=12582912
|
||||
#YSP文件保存路径
|
||||
av_file_path=/home/ysp/
|
||||
#av_file_path=D:\\ysp\\
|
||||
#av_file_path=/home/ysp/
|
||||
av_file_path=D:\\ysp\\
|
||||
#YSP文件特征类型
|
||||
av_sample_audio_region=av_sample_audio
|
||||
av_sample_vedio_region=av_sample_vedio
|
||||
av_sample_video_region=av_sample_video
|
||||
av_sample_picture_region=av_sample_picture
|
||||
av_sample_voip_region=av_sample_voip
|
||||
#样例文件生成程序
|
||||
audio_sample_create_proc=java -jar /home/sampleTest.jar
|
||||
vedio_sample_create_proc=java -jar /home/sampleTest.jar
|
||||
picture_sample_create_proc=java -jar /home/sampleTest.jar
|
||||
audio_sample_proc_param_is_quotation=true
|
||||
vedio_sample_proc_param_is_quotation=true
|
||||
picture_sample_proc_param_is_quotation=true
|
||||
audio_sample_proc_param_is_translation=false
|
||||
vedio_sample_proc_param_is_translation=false
|
||||
picture_sample_proc_param_is_translation=false
|
||||
#audio_sample_create_proc=java -jar D:\\sampleTest.jar
|
||||
#vedio_sample_create_proc=java -jar D:\\sampleTest.jar
|
||||
#picture_sample_create_proc=java -jar D:\\sampleTest.jar
|
||||
#audio_sample_proc_param_is_quotation=false
|
||||
#vedio_sample_proc_param_is_quotation=false
|
||||
#picture_sample_proc_param_is_quotation=false
|
||||
#audio_sample_proc_param_is_translation=true
|
||||
#vedio_sample_proc_param_is_translation=true
|
||||
#picture_sample_proc_param_is_translation=true
|
||||
#audio_sample_create_proc=java -jar /home/sampleTest.jar
|
||||
#video_sample_create_proc=java -jar /home/sampleTest.jar
|
||||
#picture_sample_create_proc=java -jar /home/sampleTest.jar
|
||||
#audio_sample_proc_param_is_quotation=true
|
||||
#video_sample_proc_param_is_quotation=true
|
||||
#picture_sample_proc_param_is_quotation=true
|
||||
#audio_sample_proc_param_is_translation=false
|
||||
#video_sample_proc_param_is_translation=false
|
||||
#picture_sample_proc_param_is_translation=false
|
||||
audio_sample_create_proc=java -jar D:\\sampleTest.jar
|
||||
video_sample_create_proc=java -jar D:\\sampleTest.jar
|
||||
picture_sample_create_proc=java -jar D:\\sampleTest.jar
|
||||
audio_sample_proc_param_is_quotation=false
|
||||
video_sample_proc_param_is_quotation=false
|
||||
picture_sample_proc_param_is_quotation=false
|
||||
audio_sample_proc_param_is_translation=true
|
||||
video_sample_proc_param_is_translation=true
|
||||
picture_sample_proc_param_is_translation=true
|
||||
#http自定义域相关参数
|
||||
http_header_user_region_key=HTTP_HEADER
|
||||
http_header_dict_module=HTTP_HEADER_DISTRICT
|
||||
@@ -414,4 +414,18 @@ specific_service_cfg_type_app=social_app
|
||||
specific_service_cfg_type_encrypted_tunnel_behavior=encrypted_tunnel_behavior
|
||||
specific_service_cfg_type_basic_protocol=basic_protocol
|
||||
#基础协议自定义域
|
||||
proto_id_region=PROTO_ID
|
||||
proto_id_region=PROTO_ID
|
||||
#IP默认值
|
||||
ipv4_default_ip_value=\:\:
|
||||
ipv4_default_ip_subnet_value=0.0.0.0/32
|
||||
ipv6_default_ip_subnet_value=::/64
|
||||
ipv4_default_ip_range_value=0.0.0.0-0.0.0.0
|
||||
ipv6_default_ip_range_value=::-::
|
||||
#端口默认值
|
||||
port_default=0
|
||||
port_mask_default=0/65535
|
||||
#MAAT CFG 一些默认值
|
||||
maat_cfg_dolog_default=1
|
||||
maat_cfg_dolog_doblacklist_default=1
|
||||
maat_cfg_dolog_configpercent_default=100
|
||||
maat_cfg_dolog_configoption_default=1
|
||||
2
src/main/resources/sql/update_video_spell_error.sql
Normal file
2
src/main/resources/sql/update_video_spell_error.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
update function_region_dict t set t.config_region_value=insert(t.config_region_value,POSITION('vedio' in t.config_region_value),5,'video') where t.config_region_value like '%vedio%';
|
||||
update sys_menu s set s.`code`=insert(s.`code`,POSITION('vedio' in s.`code`),5,'video') where s.`code` like '%vedio%';
|
||||
@@ -38,7 +38,7 @@ $(document).ready(function(){
|
||||
|
||||
<div class="page-content">
|
||||
<h3 class="page-title">
|
||||
<spring:message code="av_sample_vedio_porn_control"/>
|
||||
<spring:message code="av_sample_video_porn_control"/>
|
||||
<small><spring:message code="date_list"/></small>
|
||||
</h3>
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ $(document).ready(function(){
|
||||
|
||||
<div class="page-content">
|
||||
<h3 class="page-title">
|
||||
<spring:message code="av_sample_vedio_control"/>
|
||||
<spring:message code="av_sample_video_control"/>
|
||||
<small><spring:message code="date_list"/></small>
|
||||
</h3>
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<div class="login-head"> <spring:message code='login'/> </div>
|
||||
<div class="login-body">
|
||||
<div class="pull-left login-avatar-block">
|
||||
<img src="${pageContext.request.contextPath}/static/pages/img/photo.jpg" class="login-avatar"> </div>
|
||||
<img src="${pageContext.request.contextPath}/static/pages/img/login-02.png" class="login-avatar"> </div>
|
||||
<form id="loginForm" class="login-form pull-left" action="${pageContext.request.contextPath }/login" method="post">
|
||||
<div class="form-group">
|
||||
<input id="username" name="username" type="text" class="form-control placeholder-no-fix " value="${username}" placeholder="<spring:message code='fill_loginName'/>"/>
|
||||
@@ -73,7 +73,7 @@
|
||||
</form>
|
||||
</div>
|
||||
<div class="login-bottom">
|
||||
<a href="">Not Amanda Smith?</a>
|
||||
<!-- <a href="">Not Amanda Smith?</a> -->
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
BIN
src/main/webapp/static/pages/img/login-02.png
Normal file
BIN
src/main/webapp/static/pages/img/login-02.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
Reference in New Issue
Block a user