ビューを装飾するために Sitemesh を使用する Spring MVC アプリケーションで、 type のsecModel
というセキュリティ属性をすべてに注入したいと考えてい ます。WebSecurityExpressionRoot
このようにして、すべてのビューで hasAnyRole()、hasAuthority()... を呼び出すことができるため、管理者は基礎となるテンプレート エンジン ( Thymeleaf BTW) によって余分なものを提示されます。
オーバーライドされた postHandle(...) を使用したカスタムHandlerInterceptorAdapter
は、これを達成するための Spring MVC の方法のようですが、一部のビューで参照しようとするたびに null になるため、私のマスター Sitemesh デコレータはセキュリティ属性を盗んでいるようです。
しかし、コントローラーの1つが影響を受けた後にレンダリングされたビューのみが影響を受け、マッピングされたビューにmvc:view-controller
はsec属性があります。
この問題を解決するために現在のセクションFilter
に stash を書き込むことを検討していますが、何か不足している可能性があります。HttpServletRequest
前もって感謝します!