如何在Spring AOP上获得Web会话

Mew*_*ewZ 5 java spring spring-aop

我有一个使用Spring AspectJ的问题.我想在用户执行某些操作时创建审核日志,并从Web会话获取用户信息以创建审核日志.谁能提供如何做到这一点的例子?

axt*_*avt 5

Spring MVCDispatcherServlet将请求存储在线程局部变量中(如果您不使用 Spring MVC,您可以声明RequestContextListenerinweb.xml来做同样的事情)。可以通过RequestContextHolder以下方式访问此变量:

HttpSession s = (HttpSession) RequestContextHolder
                    .currentRequestAttributes()
                    .resolveReference(RequestAttributes.REFERENCE_SESSION);
Run Code Online (Sandbox Code Playgroud)