В приложении Spring MVC, использующем Sitemesh для украшения моих представлений, я хочу внедрить в каждый Model
атрибут безопасности с именем sec типа WebSecurityExpressionRoot
.
Таким образом, я мог бы вызывать hasAnyRole (), hasAuthority () ... во всех моих представлениях, чтобы администраторы представляли дополнительный материал базовым механизмом шаблонов ( Thymeleaf BTW).
Пользовательский HandlerInterceptorAdapter
с переопределенным postHandle (...) кажется способом Spring MVC для достижения этой цели, но кажется, что мой главный декоратор Sitemesh в некотором роде крадет мой атрибут безопасности, потому что всякий раз, когда я пытаюсь ссылатьсяв некоторых видах это значение равно null.
НО только виды, отображаемые после того, как затронут один из моих контроллеров, те, которые сопоставлены с mvc:view-controller
, имеют атрибут sec .
Я собираюсь написать Filter
, чтобы спрятать сек в текущий HttpServletRequest
, чтобы решить эту проблему, но я, возможно, что-то упустил.
Заранее спасибо!