2010-09-29 77 views
4

得到web会话我有一个使用Spring的AspectJ的问题。我想创建一个审计日志,当用户做一些事情并从Web会话中获取用户信息来创建审计日志。 任何人都可以提供如何做到这一点的例子吗?如何在Spring AOP的

回答

4

Spring MVC的DispatcherServlet将请求存储在线程局部变量中(如果您不使用Spring MVC,您可以声明RequestContextListenerweb.xml中做同样的事情)。此变量可以经由RequestContextHolder进行访问:

HttpSession s = (HttpSession) RequestContextHolder 
        .currentRequestAttributes() 
        .resolveReference(RequestAttributes.REFERENCE_SESSION);