Как получить веб-сессию на Spring AOP - PullRequest
5 голосов
/ 29 сентября 2010

У меня вопрос по использованию Spring AspectJ. Я хочу создать журнал аудита, когда пользователь что-то делает, и получить информацию о пользователе из веб-сессии для создания журнала аудита. Кто-нибудь может привести примеры, как это сделать?

1 Ответ

4 голосов
/ 29 сентября 2010

Spring MVC DispatcherServlet сохраняет запрос в локальной переменной потока (если вы не используете Spring MVC, вы можете объявить RequestContextListener в web.xml, чтобы сделать то же самое).Эта переменная может быть доступна через RequestContextHolder:

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