aop实现记录后端用户访问

Posted aigeileshei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了aop实现记录后端用户访问相关的知识,希望对你有一定的参考价值。

记录:

  访问ip, 请求链接, 请求参数, 请求头, 返回信息...

 

问题1:

  如何实现aop切片的就是Controller中的请求方法?

    监听xxxController下的所有方法?

      担心Controller中有部分方法是普通方法,例如private String datePares(Date date)这种

    使用过滤器?

      此业务不应该用过滤器

    使用拦截器?

      要求参照前面aop的例子完成,所以先不考虑。

  解决方案:

   spring的切点定义允许通过注解定位,结合execution表达式完成切点。

  @Pointcut(" @annotation(org.springframework.web.bind.annotation.PostMapping)"
      + " || @annotation(org.springframework.web.bind.annotation.PutMapping)"
      + " || @annotation(org.springframework.web.bind.annotation.DeleteMapping)"
      + " || @annotation(org.springframework.web.bind.annotation.RequestMapping)")
  private void requestAspect() {
  }

  @Pointcut("execution(* com.duoyu.home..* (..))")
  private void backendAspect() {

  }

  @Around("requestAspect() && backendAspect()")
  public Object run(ProceedingJoinPoint point) throws Throwable {

 

问题2:

  处理方法中如何得到HttpServletRequest?

  

 

 

。。。。。。。

 

以上是关于aop实现记录后端用户访问的主要内容,如果未能解决你的问题,请参考以下文章

前端流程实现方法(用户选择记录完成记录并支持server访问更改)

利用Spring AOP切面对用户访问进行监控

Spring Boot AOP 扫盲,实现接口访问的统一日志记录

我使用Spring AOP实现了用户操作日志功能

SpringBoot应用中使用AOP记录接口访问日志

Spring Boot# 使用AOP实现接口鉴权访问白名单限制记录接口访问日志限制接口请求次数