在使用 Sitemesh 装饰我的视图的 Spring MVC 应用程序中,我想将 Model
一个名为sec的安全属性注入到每个类型WebSecurityExpressionRoot
中。
通过这种方式,我可以在我所有的视图中调用 hasAnyRole()、hasAuthority()...,以便管理员可以通过底层模板引擎(Thymeleaf BTW)获得额外的东西。
具有覆盖 postHandle(...)的自定义HandlerInterceptorAdapter
似乎是 Spring MVC 实现此目的的方式,但似乎我的主 Sitemesh 装饰器有点窃取我的安全属性,因为每当我尝试在某些视图中引用它时它都是空的。
但是只有在我的一个控制器受到影响后呈现的视图,映射的视图mvc:view-controller
确实具有sec属性。
我正在考虑将Filter
sec写入当前HttpServletRequest
以解决此问题,但我可能遗漏了一些东西。
提前致谢!