添加审计日志

This commit is contained in:
haozq 2024-12-13 14:12:30 +08:00
parent 3c43d9044c
commit 7ff265efa4
19 changed files with 78 additions and 24 deletions

View File

@ -84,17 +84,16 @@ public class SysLoginService
String nowIp= IpUtils.getIpAddr(ServletUtils.getRequest()); String nowIp= IpUtils.getIpAddr(ServletUtils.getRequest());
Long times= 5L; Long times= 5L;
String hisIp=redisService.getCacheObject("IP:"+user.getUserId().toString()); String hisIp=redisService.getCacheObject("IP:"+user.getUserId().toString());
if(StringUtils.isNotEmpty(nowIp) && !nowIp.equals(hisIp)){ if(StringUtils.isNotEmpty(hisIp) && StringUtils.isNotEmpty(nowIp) && !nowIp.equals(hisIp)){
recordLogService.recordIpInfo(username, "登陆成功",startTime); recordLogService.recordIpInfo(username, "1",startTime);
} }
redisService.setCacheObject("IP:"+user.getUserId().toString(),nowIp,times, TimeUnit.MINUTES); redisService.setCacheObject("IP:"+user.getUserId().toString(),nowIp,times, TimeUnit.MINUTES);
if(list==null){ if(list==null){
R<List<SysMenu>> menu = remoteUserService.getAllMenuList(user.getUserId()+"", SecurityConstants.INNER); R<List<SysMenu>> menu = remoteUserService.getAllMenuList(user.getUserId()+"", SecurityConstants.INNER);
list=menu.getData(); list=menu.getData();
} }
userInfo.getSysUser().setMenus(list); userInfo.getSysUser().setMenus(list);
recordLogService.recordLogininfor(username,"1","登陆成功",startTime); recordLogService.recordLogininfor(username,"1","1",startTime);
return userInfo; return userInfo;
} }

View File

@ -102,6 +102,7 @@ public class SysRecordLogService {
*/ */
public void recordIpInfo(String username,String result,long startTime) { public void recordIpInfo(String username,String result,long startTime) {
SysLogsInfo sysLogsInfo=new SysLogsInfo(); SysLogsInfo sysLogsInfo=new SysLogsInfo();
sysLogsInfo.setUserName(username);
sysLogsInfo.setTitle("登录"); sysLogsInfo.setTitle("登录");
sysLogsInfo.setOperModel("登录"); sysLogsInfo.setOperModel("登录");
sysLogsInfo.setOperType("登录"); sysLogsInfo.setOperType("登录");
@ -110,7 +111,7 @@ public class SysRecordLogService {
sysLogsInfo.setOperIp(IpUtils.getIpAddr(ServletUtils.getRequest())); sysLogsInfo.setOperIp(IpUtils.getIpAddr(ServletUtils.getRequest()));
sysLogsInfo.setOperResult(result); sysLogsInfo.setOperResult(result);
sysLogsInfo.setEventType("异常事件"); sysLogsInfo.setEventType("异常事件");
sysLogsInfo.setErrReason("登陆成功"); sysLogsInfo.setErrReason("1");
sysLogsInfo.setOperDetails("IP异常"); sysLogsInfo.setOperDetails("IP异常");
sysLogsInfo.setOperParam("{username:"+username+"}"); sysLogsInfo.setOperParam("{username:"+username+"}");

View File

@ -68,7 +68,7 @@ public class ParamSecureHandler implements AsyncHandlerInterceptor {
/** /**
* 越权白名单路径->指定的路径 * 越权白名单路径->指定的路径
*/ */
public static String[] WHITE_URLS= new String[]{"/sys/sysLog/addLogs"}; public static String[] WHITE_URLS= new String[]{"/sys/logs/addLogs"};
@Resource @Resource
private RemoteLogService remoteLogService; private RemoteLogService remoteLogService;
@ -193,15 +193,20 @@ public class ParamSecureHandler implements AsyncHandlerInterceptor {
sysLogsInfo.setOperTime(DateTimeHelper.getNowTime()); sysLogsInfo.setOperTime(DateTimeHelper.getNowTime());
sysLogsInfo.setOperIp(IpUtils.getIpAddr(ServletUtils.getRequest())); sysLogsInfo.setOperIp(IpUtils.getIpAddr(ServletUtils.getRequest()));
sysLogsInfo.setOperModel(menu); if(StringHelper.isNotEmpty(menu)){
sysLogsInfo.setTitle(menu); sysLogsInfo.setOperModel(menu);
sysLogsInfo.setTitle(menu);
}else {
sysLogsInfo.setOperModel("未知模块");
sysLogsInfo.setTitle("未知名称");
}
sysLogsInfo.setOperResult("0"); sysLogsInfo.setOperResult("0");
sysLogsInfo.setLogType(2); sysLogsInfo.setLogType(2);
sysLogsInfo.setEventType("异常事件"); sysLogsInfo.setEventType("异常事件");
sysLogsInfo.setErrGrade(""); sysLogsInfo.setErrGrade("");
sysLogsInfo.setOperMeth(url);
sysLogsInfo.setErrReason("越权访问"); sysLogsInfo.setErrReason("越权访问");
sysLogsInfo.setOperDetails("接口未授权"); sysLogsInfo.setOperDetails("接口未授权");
sysLogsInfo.setOperModel(url);
sysLogsInfo.setOperType("查询"); sysLogsInfo.setOperType("查询");
sysLogsInfo.setTimes("0"); sysLogsInfo.setTimes("0");
remoteLogService.addSaveSysLog(sysLogsInfo, SecurityConstants.INNER); remoteLogService.addSaveSysLog(sysLogsInfo, SecurityConstants.INNER);

View File

@ -77,7 +77,6 @@ public class DeviceController extends BaseController {
PageHelper.startPage(deviceVo.getPage(), deviceVo.getLimit()); PageHelper.startPage(deviceVo.getPage(), deviceVo.getLimit());
List<DeviceVo> deviceList = service.getDeviceList(deviceVo); List<DeviceVo> deviceList = service.getDeviceList(deviceVo);
PageInfo<DeviceVo> pageInfo = new PageInfo<DeviceVo>(deviceList); PageInfo<DeviceVo> pageInfo = new PageInfo<DeviceVo>(deviceList);
System.out.println("输出分页后的数据:" + pageInfo.getList());
Map<String, Object> map = new HashMap<String, Object>(16); Map<String, Object> map = new HashMap<String, Object>(16);
map.put("code", 200); map.put("code", 200);
map.put("msg", ""); map.put("msg", "");

View File

@ -38,7 +38,6 @@ public class DeviceLedgerController extends BaseController {
PageHelper.startPage(deviceLedGer.getPage(), deviceLedGer.getLimit()); PageHelper.startPage(deviceLedGer.getPage(), deviceLedGer.getLimit());
List<DeviceLedGer> deviceList = service.getDeviceLedgerList(deviceLedGer); List<DeviceLedGer> deviceList = service.getDeviceLedgerList(deviceLedGer);
PageInfo<DeviceLedGer> pageInfo = new PageInfo<DeviceLedGer>(deviceList); PageInfo<DeviceLedGer> pageInfo = new PageInfo<DeviceLedGer>(deviceList);
System.out.println("输出分页后的数据:" + pageInfo.getList());
Map<String, Object> map = new HashMap<String, Object>(16); Map<String, Object> map = new HashMap<String, Object>(16);
map.put("code", 200); map.put("code", 200);
map.put("msg", ""); map.put("msg", "");

View File

@ -53,7 +53,6 @@ public class DutyChildController {
} }
List<DutyChildVo> list = service.getProList(vo); List<DutyChildVo> list = service.getProList(vo);
PageInfo<DutyChildVo> pageInfo = new PageInfo<DutyChildVo>(list); PageInfo<DutyChildVo> pageInfo = new PageInfo<DutyChildVo>(list);
System.out.println("输出分页后的数据:" + pageInfo.getList());
Map<String, Object> map = new HashMap<String, Object>(6); Map<String, Object> map = new HashMap<String, Object>(6);
map.put("code", 200); map.put("code", 200);
map.put("msg", ""); map.put("msg", "");
@ -103,7 +102,6 @@ public class DutyChildController {
} }
List<DutyChildVo> list = service.getWeekList(vo); List<DutyChildVo> list = service.getWeekList(vo);
PageInfo<DutyChildVo> pageInfo = new PageInfo<DutyChildVo>(list); PageInfo<DutyChildVo> pageInfo = new PageInfo<DutyChildVo>(list);
System.out.println("输出分页后的数据:" + pageInfo.getList());
Map<String, Object> map = new HashMap<String, Object>(6); Map<String, Object> map = new HashMap<String, Object>(6);
map.put("code", 200); map.put("code", 200);
map.put("msg", ""); map.put("msg", "");
@ -155,7 +153,6 @@ public class DutyChildController {
} }
List<DutyChildVo> list = service.getDayList(vo); List<DutyChildVo> list = service.getDayList(vo);
PageInfo<DutyChildVo> pageInfo = new PageInfo<DutyChildVo>(list); PageInfo<DutyChildVo> pageInfo = new PageInfo<DutyChildVo>(list);
System.out.println("输出分页后的数据:" + pageInfo.getList());
Map<String, Object> map = new HashMap<String, Object>(6); Map<String, Object> map = new HashMap<String, Object>(6);
map.put("code", 200); map.put("code", 200);
map.put("msg", ""); map.put("msg", "");

View File

@ -62,7 +62,6 @@ public class ManageController extends BaseController {
PageHelper.startPage(supeConsUserVo.getPage(), supeConsUserVo.getLimit()); PageHelper.startPage(supeConsUserVo.getPage(), supeConsUserVo.getLimit());
List<SupeConsUserVo> deviceList = service.getPageInfo(supeConsUserVo); List<SupeConsUserVo> deviceList = service.getPageInfo(supeConsUserVo);
PageInfo<SupeConsUserVo> pageInfo = new PageInfo<SupeConsUserVo>(deviceList); PageInfo<SupeConsUserVo> pageInfo = new PageInfo<SupeConsUserVo>(deviceList);
System.out.println("输出分页后的数据:" + pageInfo.getList());
Map<String, Object> map = new HashMap<String, Object>(16); Map<String, Object> map = new HashMap<String, Object>(16);
map.put("code", 200); map.put("code", 200);
map.put("msg", ""); map.put("msg", "");

View File

@ -45,7 +45,6 @@ public class NewDutyController {
PageHelper.startPage(vo.getPage(), vo.getLimit()); PageHelper.startPage(vo.getPage(), vo.getLimit());
List<NewDutyVo> deviceList = service.getPageList(vo); List<NewDutyVo> deviceList = service.getPageList(vo);
PageInfo<NewDutyVo> pageInfo = new PageInfo<NewDutyVo>(deviceList); PageInfo<NewDutyVo> pageInfo = new PageInfo<NewDutyVo>(deviceList);
System.out.println("输出分页后的数据:" + pageInfo.getList());
Map<String, Object> map = new HashMap<String, Object>(16); Map<String, Object> map = new HashMap<String, Object>(16);
map.put("code", 200); map.put("code", 200);
map.put("msg", ""); map.put("msg", "");

View File

@ -70,7 +70,6 @@ public class PreservationController extends BaseController {
PageHelper.startPage(preservationVo.getPage(), preservationVo.getLimit()); PageHelper.startPage(preservationVo.getPage(), preservationVo.getLimit());
List<PreservationVo> preservationList = service.getProjectPreservation(preservationVo); List<PreservationVo> preservationList = service.getProjectPreservation(preservationVo);
PageInfo<PreservationVo> pageInfo = new PageInfo<PreservationVo>(preservationList); PageInfo<PreservationVo> pageInfo = new PageInfo<PreservationVo>(preservationList);
System.out.println("输出分页后的数据:" + pageInfo.getList());
Map<String, Object> map = new HashMap<String, Object>(16); Map<String, Object> map = new HashMap<String, Object>(16);
map.put("code", 200); map.put("code", 200);
map.put("msg", ""); map.put("msg", "");

View File

@ -49,7 +49,6 @@ public class SysProblemController {
PageHelper.startPage(problemVo.getPage(), problemVo.getLimit()); PageHelper.startPage(problemVo.getPage(), problemVo.getLimit());
List<SysProblemVo> deviceList = service.getProblemPage(problemVo); List<SysProblemVo> deviceList = service.getProblemPage(problemVo);
PageInfo<SysProblemVo> pageInfo = new PageInfo<SysProblemVo>(deviceList); PageInfo<SysProblemVo> pageInfo = new PageInfo<SysProblemVo>(deviceList);
System.out.println("输出分页后的数据:" + pageInfo.getList());
Map<String, Object> map = new HashMap<String, Object>(16); Map<String, Object> map = new HashMap<String, Object>(16);
map.put("code", 200); map.put("code", 200);
map.put("msg", ""); map.put("msg", "");

View File

@ -42,7 +42,6 @@ public class WeekRiskController {
PageHelper.startPage(weekRiskEntity.getPage(), weekRiskEntity.getLimit()); PageHelper.startPage(weekRiskEntity.getPage(), weekRiskEntity.getLimit());
List<WeekRiskEntity> deviceList = service.getWeekRiskList(weekRiskEntity); List<WeekRiskEntity> deviceList = service.getWeekRiskList(weekRiskEntity);
PageInfo<WeekRiskEntity> pageInfo = new PageInfo<WeekRiskEntity>(deviceList); PageInfo<WeekRiskEntity> pageInfo = new PageInfo<WeekRiskEntity>(deviceList);
System.out.println("输出分页后的数据:" + pageInfo.getList());
Map<String, Object> map = new HashMap<String, Object>(16); Map<String, Object> map = new HashMap<String, Object>(16);
map.put("code", 200); map.put("code", 200);
map.put("msg", ""); map.put("msg", "");

View File

@ -43,7 +43,6 @@ public class MonitorController extends BaseController {
PageHelper.startPage(monitoVo.getPage(), monitoVo.getLimit()); PageHelper.startPage(monitoVo.getPage(), monitoVo.getLimit());
List<MonitorVo> deviceList = service.getMonitorList(monitoVo); List<MonitorVo> deviceList = service.getMonitorList(monitoVo);
PageInfo<MonitorVo> pageInfo = new PageInfo<MonitorVo>(deviceList); PageInfo<MonitorVo> pageInfo = new PageInfo<MonitorVo>(deviceList);
System.out.println("输出分页后的数据:" + pageInfo.getList());
Map<String, Object> map = new HashMap<String, Object>(16); Map<String, Object> map = new HashMap<String, Object>(16);
map.put("code", 200); map.put("code", 200);
map.put("msg", ""); map.put("msg", "");

View File

@ -94,7 +94,6 @@ public class TeamNewController extends BaseController {
PageHelper.startPage(cityName.getPage(), cityName.getLimit()); PageHelper.startPage(cityName.getPage(), cityName.getLimit());
List<TeamData> deviceList = service.getTeamByOrg(cityName); List<TeamData> deviceList = service.getTeamByOrg(cityName);
PageInfo<TeamData> pageInfo = new PageInfo<TeamData>(deviceList); PageInfo<TeamData> pageInfo = new PageInfo<TeamData>(deviceList);
System.out.println("输出分页后的数据:" + pageInfo.getList());
map.put("code", 200); map.put("code", 200);
map.put("msg", ""); map.put("msg", "");
map.put("count", pageInfo.getTotal()); map.put("count", pageInfo.getTotal());
@ -131,7 +130,6 @@ public class TeamNewController extends BaseController {
PageHelper.startPage(Integer.parseInt(cityName.getPage()), Integer.parseInt(cityName.getLimit())); PageHelper.startPage(Integer.parseInt(cityName.getPage()), Integer.parseInt(cityName.getLimit()));
List<PersonData> deviceList = service.getPersonData(cityName); List<PersonData> deviceList = service.getPersonData(cityName);
PageInfo<PersonData> pageInfo = new PageInfo<PersonData>(deviceList); PageInfo<PersonData> pageInfo = new PageInfo<PersonData>(deviceList);
System.out.println("输出分页后的数据:" + pageInfo.getList());
map.put("code", 200); map.put("code", 200);
map.put("msg", ""); map.put("msg", "");
map.put("count", pageInfo.getTotal()); map.put("count", pageInfo.getTotal());

View File

@ -48,13 +48,17 @@ public class SysLogsController extends BaseController {
return logService.addSaveSysLog(sysLog); return logService.addSaveSysLog(sysLog);
} }
@PostMapping("addLogs")
public void addLogs(SysLogsInfo sysLog) {
logService.addLogs(sysLog);
}
@PostMapping("saveLogininfor") @PostMapping("saveLogininfor")
public AjaxResult saveLogininfor(@RequestBody SysOperLog sysLog) { public AjaxResult saveLogininfor(@RequestBody SysOperLog sysLog) {
return logService.saveLogs(sysLog); return logService.saveLogs(sysLog);
} }
/** /**
* 分页查询系统日志业务日志 * 分页查询系统日志业务日志
* *

View File

@ -37,7 +37,6 @@ public class SysRoleController {
PageHelper.startPage(sysRole.getPage(), sysRole.getLimit()); PageHelper.startPage(sysRole.getPage(), sysRole.getLimit());
List<SysRoleEntity> studentsList = service.getRoleList(sysRole); List<SysRoleEntity> studentsList = service.getRoleList(sysRole);
PageInfo<SysRoleEntity> pageInfo = new PageInfo<SysRoleEntity>(studentsList); PageInfo<SysRoleEntity> pageInfo = new PageInfo<SysRoleEntity>(studentsList);
System.out.println("输出分页后的数据:" + pageInfo.getList());
Map<String, Object> map = new HashMap<String, Object>(16); Map<String, Object> map = new HashMap<String, Object>(16);
map.put("code", 200); map.put("code", 200);
map.put("msg", "数据获取成功"); map.put("msg", "数据获取成功");

View File

@ -91,4 +91,6 @@ public interface SysLogsDao {
Map<String, String> getYueQuan(); Map<String, String> getYueQuan();
void addSaveSysLog(SysLogsInfo sysLog); void addSaveSysLog(SysLogsInfo sysLog);
SysLogsInfo getModelTitle(SysLogsInfo sysLog);
} }

View File

@ -65,4 +65,11 @@ public interface SysLogsService {
* @return * @return
*/ */
AjaxResult addSaveSysLog(SysLogsInfo sysLog); AjaxResult addSaveSysLog(SysLogsInfo sysLog);
/**
* 新增日志
* @param sysLog
* @return
*/
void addLogs(SysLogsInfo sysLog);
} }

View File

@ -3,6 +3,7 @@ package com.securityControl.system.service.impl;
import com.securityControl.common.core.utils.DateUtils; import com.securityControl.common.core.utils.DateUtils;
import com.securityControl.common.core.utils.ServletUtils; import com.securityControl.common.core.utils.ServletUtils;
import com.securityControl.common.core.utils.aes.DateTimeHelper; import com.securityControl.common.core.utils.aes.DateTimeHelper;
import com.securityControl.common.core.utils.aes.StringHelper;
import com.securityControl.common.core.utils.ip.IpUtils; import com.securityControl.common.core.utils.ip.IpUtils;
import com.securityControl.common.core.web.domain.AjaxResult; import com.securityControl.common.core.web.domain.AjaxResult;
import com.securityControl.common.log.enums.OperationType; import com.securityControl.common.log.enums.OperationType;
@ -70,6 +71,46 @@ public class SysLogsServiceImpl implements SysLogsService {
return null; return null;
} }
@Override
public void addLogs(SysLogsInfo sysLog) {
try{
sysLog.setErrGrade("");
sysLog.setOperTime(DateTimeHelper.getNowTime());
sysLog.setOperIp(IpUtils.getIpAddr(ServletUtils.getRequest()));
setModelTitle(sysLog);
sysLog.setOperDetails("页面访问越权");
sysLog.setOperResult("0");
sysLog.setEventType("异常事件");
sysLog.setLogType(2);
sysLog.setOperType("页面访问");
sysLog.setErrReason("越权访问");
sysLog.setTimes("0");
dao.addSaveSysLog(sysLog);
}catch (Exception e){
log.error(e.toString(),e);
}
}
public void setModelTitle(SysLogsInfo sysLog){
try{
SysLogsInfo query=dao.getModelTitle(sysLog);
if(query!=null){
sysLog.setOperModel(query.getOperModel());
if(StringHelper.isEmpty(query.getTitle())){
sysLog.setTitle(query.getOperModel());
}else{
sysLog.setTitle(query.getTitle());
}
}
}catch (Exception e){
log.error(e.toString(),e);
}
}
@Override @Override
public List<SysLogVo> queryByPage(SysLogQo sysLogQo) { public List<SysLogVo> queryByPage(SysLogQo sysLogQo) {
return dao.queryByPage(sysLogQo); return dao.queryByPage(sysLogQo);

View File

@ -225,6 +225,7 @@
WHERE log_type = #{logType} WHERE log_type = #{logType}
</update> </update>
<insert id="saveCopyLogs" parameterType="com.securityControl.system.api.domain.SysOperLog"> <insert id="saveCopyLogs" parameterType="com.securityControl.system.api.domain.SysOperLog">
insert into sys_logs_copy(user_name, model, details, method, requestMethod, uri, params, ip, create_time, grade, insert into sys_logs_copy(user_name, model, details, method, requestMethod, uri, params, ip, create_time, grade,
businessType, role_name, log_time, dept_name, err_msg, businessType, role_name, log_time, dept_name, err_msg,
@ -268,6 +269,14 @@
order by id desc order by id desc
limit 1 limit 1
</select> </select>
<!--查询菜单名称及模块-->
<select id="getModelTitle" resultType="com.securityControl.system.api.domain.SysLogsInfo">
select sm.menu_name operModel ,sm2.menu_name title ,sm.paths
from sys_menu sm
left join sys_menu sm2 on sm2.p_id=sm.id and sm2.types=1
where sm.types=1 and sm.paths like concat('%',#{operMeth},'%')
limit 1
</select>
</mapper> </mapper>