Когда в методе контроллера мне нужно извлечь некоторые данные из сеанса (часто это идентификатор, который я использую для пользовательских разрешений и настройки веб-страницы для каждого пользователя), я пишу такие методы:
@RequestMapping("something")
public ModelAndView doSomething(HttpSession session) throws AuthorizationException{
PerUserModelBean bean = getSessionRelatedInfo(session);
bean.checkPermissions();
...do my stuff...
}
Что скучно, потому что мне приходится повторять параметр сеанса для каждого метода, и я должен поместить этот код в начало каждого метода. Не только скучно, если я хочу изменить это, я должен пройти через все методы и изменить это. Я хотел бы, чтобы информация о сеансе была повторной и метод checkPermissions вызывался автоматически перед моим методом, а затем каким-то образом имеет переменную bean-компонента (возможно, как threadlocal?), Автоматически заполненную в соответствии с содержимым сессии. Есть ли способ добиться этого?