修复bug,DNS欺骗ip删除传入fake id

This commit is contained in:
wangxin
2018-03-28 10:16:27 +08:00
parent e3d8a491b1
commit 9f8ead8635
6 changed files with 43 additions and 19 deletions

View File

@@ -141,6 +141,7 @@ public class DnsIpCfg extends BaseEntity<DnsIpCfg> {
private String lable;
private String cfgIds;
private String fakeIds;
public String getCfgIds() {
return cfgIds;
@@ -348,5 +349,19 @@ public class DnsIpCfg extends BaseEntity<DnsIpCfg> {
public void setSearchAuditTimeEnd(Date searchAuditTimeEnd) {
this.searchAuditTimeEnd = searchAuditTimeEnd;
}
/**
* fakeIds
* @return fakeIds
*/
public String getFakeIds() {
return fakeIds;
}
/**
* @param fakeIds the fakeIds to set
*/
public void setFakeIds(String fakeIds) {
this.fakeIds = fakeIds;
}
}

View File

@@ -78,10 +78,10 @@ public class DnsIpCfgController extends BaseController {
@RequestMapping("delete")
public String delete(Model model, HttpServletRequest request,
HttpServletResponse response, DnsIpCfg dnsIpCfg) {
String cfgIds = dnsIpCfg.getCfgIds();
if (!StringUtils.isEmpty(cfgIds)) {
String fakeIds = dnsIpCfg.getFakeIds();
if (!StringUtils.isEmpty(fakeIds)) {
try {
dnsIpCfgService.delete(cfgIds);
dnsIpCfgService.delete(fakeIds);
addMessage(model, "delete_success");
} catch (Exception e) {
logger.error("删除失败", e);

View File

@@ -1,10 +1,12 @@
package com.nis.web.dao.configuration;
import org.apache.ibatis.annotations.Param;
import com.nis.domain.configuration.DnsIpCfg;
import com.nis.web.dao.CrudDao;
import com.nis.web.dao.MyBatisDao;
@MyBatisDao
public interface DnsIpCfgDao extends CrudDao<DnsIpCfg> {
public int deleteByFakeId(@Param("fakeId") String fakeIds);
}

View File

@@ -141,5 +141,12 @@
is_valid=0
where cfg_id=#{cfgId}
</update>
<update id="deleteByFakeId">
update
dns_ip_cfg
set
is_valid=0
where fake_id =#{fakeId}
</update>
</mapper>

View File

@@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -16,13 +17,13 @@ import com.nis.domain.maat.MaatDnsIpCfg;
import com.nis.domain.maat.ToMaatDnsIpBean;
import com.nis.main.ConvertTool;
import com.nis.util.Collections3;
import com.nis.util.StringUtil;
import com.nis.web.dao.configuration.DnsIpCfgDao;
import com.nis.web.service.CrudService;
@Service
public class DnsIpCfgService extends CrudService<DnsIpCfgDao, DnsIpCfg>{
@Autowired
private DnsIpCfgDao dnsIpCfgDao;
@Override
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void save(DnsIpCfg dnsIpCfg) {
@@ -72,27 +73,24 @@ public class DnsIpCfgService extends CrudService<DnsIpCfgDao, DnsIpCfg>{
}
}
public void delete(String cfgIds) {
if(cfgIds.endsWith(","))cfgIds=cfgIds.substring(0,cfgIds.lastIndexOf(","));
String[] cfgIdsArr = cfgIds.split(",");
for (String cfgId : cfgIdsArr) {
DnsIpCfg d = new DnsIpCfg();
d.setCfgId(Long.valueOf(cfgId));
dao.delete(d);
public void delete(String fakeIds) {
if(fakeIds.endsWith(","))fakeIds=fakeIds.substring(0,fakeIds.lastIndexOf(","));
String[] fakeIdsArr = fakeIds.split(",");
for (String fakeId : fakeIdsArr) {
dnsIpCfgDao.deleteByFakeId(fakeId);
}
//给配置转换层发送、接收结果
String sendJson = "{\"fakeId\":[" + cfgIds + "]}";
String sendJson = "{\"fakeId\":[" + fakeIds + "]}";
logger.info("准备下发配置:" + sendJson);
Boolean recv = true;
try {
recv = new ConvertTool().invalidDNSIPConfig(sendJson);
} catch (Throwable e) {
logger.error("欺骗ip配置删除失败:通讯异常,cfgIds:" + cfgIds, e);
logger.error("欺骗ip配置删除失败:通讯异常,fakeIds:" + fakeIds, e);
throw new RuntimeException("欺骗ip配置删除失败:通讯失败");
}
if (!recv) {
logger.error("欺骗ip配置删除失败,收到结果 " + recv + " ,cfgIds:" + cfgIds);
logger.error("欺骗ip配置删除失败,收到结果 " + recv + " ,fakeIds:" + fakeIds);
throw new RuntimeException("欺骗ip配置删除失败");
}
}

View File

@@ -69,8 +69,9 @@
checkboxes.each(function(){
ids = ids + $(this).attr("id") + ",";
});
console.log(ids);
if (confirm("<spring:message code='confirm_message'/>")) {
$("#cfgIds").val(ids);
$("#fakeIds").val(ids);
$("#searchForm").attr("action","${ctx}/cfg/dnsIp/delete");
$("#searchForm").submit();
}
@@ -105,6 +106,7 @@
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${dnsIpCfg.isFilterAction }"/>
<input id="cfgIds" name="cfgIds" type="hidden"/>
<input id="fakeIds" name="fakeIds" type="hidden"/>
<!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12">
<div class="pull-left">
@@ -270,7 +272,7 @@
</thead>
<tbody>
<c:forEach items="${page.list }" var="dnsIpCfg" varStatus="status" step="1">
<td><input type="checkbox" class="i-checks child-checks" id="${dnsIpCfg.cfgId}" value="${dnsIpCfg.isAudit}"></td>
<td><input type="checkbox" class="i-checks child-checks" id="${dnsIpCfg.fakeId}" value="${dnsIpCfg.isAudit}"></td>
<td>${dnsIpCfg.cfgDesc }</td>
<td>V${dnsIpCfg.ipType }</td>
<td>${dnsIpCfg.srcIp }</td>