0

ログインしたユーザーが次の URL にアクセスしたとします。

www.example.com/forum/234

spring mvc アクションが起動する前に、ユーザー オブジェクト、ユーザーのアクセス許可、フォーラム オブジェクトを読み込みます。

ここで、このリクエスト全体でこれらのオブジェクトを共有したいと考えています。そのため、他のクラスは、現在のリクエストでUserPermissionおよびForumオブジェクトを確認できます。

これらのオブジェクトが利用可能であれば、カスタムの freemarker モジュールもこれらのオブジェクトを参照できると便利です。

これは可能ですか?

4

1 に答える 1

1

まず、フィルターが必要なすべてを実行する spring-security の使用を検討してください。

すべてを手動で行いたい場合は、少なくとも 2 つのオプションがあります。 - サーブレット フィルターを使用する - スプリング ハンドラー インターセプターを使用する/html/mvc.html#mvc-handlermapping-interceptor )。

どちらの場合も、このデータをリクエスト属性に保存します。

別のオプションは、データを保存するリクエストスコープで Bean を作成することです。

Freemarker に関しては、 FreemarkerViewResolverの独自のサブクラスを提供する必要があります。これは、requiredViewClass()メソッドでFreeMarkerViewのサブクラスを返します。このFreeMarkerViewサブクラスで、 exposeHelpers()メソッドにオブジェクトを追加します。

于 2010-07-17T03:38:28.690 に答える