/** 动态威胁与动态脆弱点关联 */ @SuppressWarnings("unchecked") public ActionForward relateToVuln( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String vulnKindIdSelect = request.getParameter("vulnKindIdSelect"); String vulnIdSelect = request.getParameter("vulnIdSelect"); String ip = request.getParameter("ip"); request.setAttribute("ip", ip); request.setAttribute("vulnKindIdSelect", vulnKindIdSelect); request.setAttribute("vulnIdSelect", vulnIdSelect); AsseKnowDynaThreForm asseKnowDynaThreForm = (AsseKnowDynaThreForm) form; String[] dynaThreIds = asseKnowDynaThreForm.getDynaThreIds(); Map paraMaps = new HashMap(); paraMaps.put("dynaThreIds", dynaThreIds); paraMaps.put("vulnId", vulnIdSelect); AsseInfoProj asseInfoProj = loadAsseInfoproj(request); threAnalService.relateToVuln(paraMaps, asseInfoProj); // 添加日志 OperatorDetails user = SecurityUserHolder.getCurrentUser(); SystemLog log = new SystemLog(); log.setUsername(user.getUsername()); List<Role> list = user.getRoleList(); String roles = ""; for (Role role : list) { roles += role.getRole() + ","; } log.setRoleName(roles.substring(0, roles.length() - 1)); log.setTime(new Timestamp(new Date().getTime())); log.setModuleName(SystemModelInfo.MOD_RAM); String s = ""; for (String str : dynaThreIds) { s += str + ","; } log.setOperationDesc( "风险评估模块,动态威胁与动态脆弱点关联,动态威胁ID为:" + s.substring(0, s.length() - 1) + "动态脆弱点ID为:" + vulnIdSelect); log.setControl("成功"); logService.saveSystemLog(log); return showVulnThre(mapping, form, request, response); }
/** 保存/更新动态威胁 */ @SuppressWarnings("null") public ActionForward saveOrUpdateThre( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { boolean flag = true; AsseKnowDynaThreForm asseKnowDynaThreForm = (AsseKnowDynaThreForm) form; AsseKnowDynaThre asseKnowDynaThre = new AsseKnowDynaThre(); asseKnowDynaThre.setAsseInfoProjId(asseKnowDynaThreForm.getAsseInfoProjId()); asseKnowDynaThre.setAsseKnowStatThreId(asseKnowDynaThreForm.getAsseKnowStatThreId()); asseKnowDynaThre.setAsseKnowStatThreKindId(asseKnowDynaThreForm.getAsseKnowStatThreKindId()); asseKnowDynaThre.setPossibility(asseKnowDynaThreForm.getPossibility()); asseKnowDynaThre.setThreCode(asseKnowDynaThreForm.getThreCode()); AsseInfoAsse asseInfoAsse = assetService.findByAssetCode(asseKnowDynaThreForm.getAssetCode()); Integer asseDynaVulnPoinId = asseKnowDynaThreForm.getAsseDynaVulnPoinId(); if (asseDynaVulnPoinId != null && !"".equals(asseDynaVulnPoinId)) { AsseKnowDynaVuln asseKnowDynaVuln = vulnAnalService.find(asseDynaVulnPoinId); asseKnowDynaThre.setAsse(asseKnowDynaVuln.getAsse()); asseKnowDynaThre.setDynaVuln(asseKnowDynaVuln); } if (asseKnowDynaThreForm.getId() != null && asseKnowDynaThreForm.getId() > 0) { flag = false; asseKnowDynaThre.setId(asseKnowDynaThreForm.getId()); threAnalService.saveOrUpdate(asseKnowDynaThre); } else { if (!threAnalService.checkExitDynaVulnPoint( asseKnowDynaThreForm.getAsseInfoProjId(), asseInfoAsse, asseKnowDynaThreForm.getAsseKnowStatThreKindId(), asseKnowDynaThreForm.getAsseKnowStatThreId())) { asseKnowDynaThre.setId(null); threAnalService.saveOrUpdate(asseKnowDynaThre); } else { // 该资产关联的脆弱点已存在 ActionErrors errors = new ActionErrors(); errors.add("repeatDynaThre", new ActionMessage("asse.err.dynaThre.repeat")); saveErrors(request, errors); } } // 添加日志 OperatorDetails user = SecurityUserHolder.getCurrentUser(); SystemLog log = new SystemLog(); log.setUsername(user.getUsername()); List<Role> list = user.getRoleList(); String roles = ""; for (Role role : list) { roles += role.getRole() + ","; } log.setRoleName(roles.substring(0, roles.length() - 1)); log.setTime(new Timestamp(new Date().getTime())); log.setModuleName(SystemModelInfo.MOD_RAM); if (flag) { log.setOperationDesc( "风险评估模块,新增动态威胁,ID为:" + asseKnowDynaThre.getId() + ",所属项目ID:" + asseKnowDynaThre.getAsseInfoProjId()); } else { log.setOperationDesc( "风险评估模块,修改动态威胁,ID为:" + asseKnowDynaThre.getId() + ",所属项目ID:" + asseKnowDynaThre.getAsseInfoProjId()); } log.setControl("成功"); logService.saveSystemLog(log); request.setAttribute("asseKnowDynaThre", asseKnowDynaThre); return showVulnThre(mapping, form, request, response); }