2010-09-29 73 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);