使用springAOP实现在添加功能之前进行日志统计和安全检查?
发布网友
发布时间:2022-10-03 23:15
我来回答
共2个回答
热心网友
时间:2023-10-12 03:38
给你提供一个思路:
1、写个静态类,定义静态变量,把所有要用到的service(假设AOP拦截到service层)实现类都写成key,value的形式,如:
Map modeMap=new HashMap();
map.put("UserServiceImpl","用户管理")//用于记录类与模块的对应关系。
2、写静态变量,把定义的方法与日志中记录的描述对应。
methodMap.put("add_UserInfo",'添加用户信息');
methodMap.put("update_UserInfo",'修改用户信息');
3、写AOP切入点:
@Resource(name = "baseDao")
private BaseDao baseDao;
@Pointcut("execution (* com.web.*.*.service.*.*(..))")
// 切入点作用域
private void anyMethod() {
}// 声明一个切入点应用方法
@SuppressWarnings("unchecked")
@AfterReturning(pointcut = "anyMethod()", returning = "result")
public void doAfterReturning(JoinPoint join, Object result) {
String classname = join.getTarget().getClass().getName();//获取当前的类名
String method = join.getSignature().getName();//方法名
//再在上述静态MAP里找模块名字和方法描述,略..
//下述session中获取当前用户信息,略..
HttpSession session = HttpRequester.getHttpSession();
//组装日志对象,调用baseDao的方法写日志,略.
}
热心网友
时间:2023-10-12 03:38
只用这个lp是现在添加功能之前进行的日志上去完全加差