【问题标题】:Audit Logs using Spring AOP使用 Spring AOP 审计日志
【发布时间】:2011-09-13 07:04:20
【问题描述】:

我们正在研究 Spring 的 AOP 框架,以便在基于 Spring MVC 的应用程序中添加审计日志功能。

在我们的应用程序中,每当我们调用服务方法时,我们都会传递额外的审计日志对象(除了正常的方法参数之外)。这个审计日志对象预先填充了一些属性,如用户名、用户 ID 和用户 IP 地址等。

在实际的服务方法中,我们根据被调用的方法或在服务方法中执行的操作,在审计日志对象上设置了更多的属性。

这是非常动态的,并且因方法而异。

在AOP类中我们可以截取方法参数和返回值。但是,根据服务方法中正在执行的操作计算出的值,然后在审计日志对象上设置呢?此值在 AOP 类中不可用。

基本上我们需要填充审计日志对象,然后在方法执行后将其保存在数据库中,其中传入的参数设置在仅被拦截的方法中。

有什么我们可以做到的吗?

请帮忙。

【问题讨论】:

    标签: spring-aop audit-logging


    【解决方案1】:

    在 AOP 类中,您应该可以访问审计对象,因为您可以访问方法参数。所以方法返回后,在方法参数中找到审计对象并对其进行操作。审计对象是哪个参数无关紧要,只要您可以按类型找到它即可。

    您在审计对象上设置的值应该仍然存在,因为审计对象是通过引用传递的。

    【讨论】:

      猜你喜欢
      • 2012-10-27
      • 1970-01-01
      • 2018-04-13
      • 2012-11-04
      • 2012-09-30
      • 2018-04-26
      • 2018-01-25
      • 1970-01-01
      • 2012-09-16
      相关资源
      最近更新 更多