[Seasar-user:3873] 独自作成Interceptorの使用方法

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2006年 6月 16日 (金) 13:11:23 JST


こんにちは、関です。

Seasarを勉強中ですがよろしくお願いします。

【実現したいこと】
S2JSFに簡易的な認証機能を付けたプログラムを作成したい。
(ページの閲覧認証機能は、横断的なシステムの機能と考えてAOPで実装してみようと考えました)

【考えたこと】
閲覧者は session で User コンポーネントを持ち回りサーバーに閲覧者を知らせます。
S2JSF の全ての action に 独自作成の Interceptor をAOPで埋め込んで
独自実装 Interceptorの invoke(MethodInvocation invocation) メソッドで
閲覧者が保持している session の User コンポーネントを取得し、
閲覧権限が無い場合には invocation.proceed(); をスキップして action を終了させようと考えました。
閲覧権限の有無の実現方法は getTargetClass で action クラス名を取得できるみたいなので
それと 取得した User オブジェクトを比較しようと思っています。

【出来ないこと】
しかし、独自実装Interceptorで 閲覧者が保持している
session の User コンポーネントを取得できません。

この独自作成のInterceptor で setter を実装すれば取得できるかとも思い
やってみましたが出来ませんでした。

public void setUser(User user) {
	this.user = user;
}

【聞きたいこと】
actionには setUser メソッドでコンポーネントは入るのですが
Interceptorをかぶせるオブジェクトではコンポーネント(上記例でいうとUserインスタンス)は
取得できないのでしょうか?
何か分かりやすいサンプルなどがありましたら教えて下さい。

そもそも、AOPで実装仕様とする事自体が
もしかしたら見当違いなのかもしれませんが、よろしくお願い致します。





Seasar-user メーリングリストの案内