[Seasar-user:20464] Re: Interceptorを用いた際のIllegalAutoBindingPropertyRuntimeException
Takafumi Yoshida
[E-MAIL ADDRESS DELETED]
2010年 12月 27日 (月) 09:37:59 JST
いつもお世話になります。吉田(zephiransas)です。
AdminAuthInterceptorにある
> @Resource
> protected User user;
の使い方がちがいますね。
Userクラスはルートパッケージ(scoreupgolf?).entityにあるようですが普通entityは
セッション管理には使いません。
まず、Seasarでセッション管理するクラスをscoreupgolf.formにLoginInfoFormとかで
作成し、これに
@Component(instance = InstanceType.SESSION)
を追加します。Serializableを忘れずに。
http://s2container.seasar.org/2.4/ja/DIContainer.html#ComponentAnnotation
http://s2container.seasar.org/2.4/ja/DIContainer.html#InstanceMode
ログイン処理を行うServiceで上記のLoginInfoFormをDIし、ログイン成功時に各種プロパティ
(ユーザIDとか氏名とかロールとかetc...)をセットしておきます。
AdminAuthInterceptorでは
@Resource
protected LoginInfoForm loginInfoForm
でセッションからDIし、これを使用して、ログインしているか?adminロールがあるか?をチェックする
といったパターンが一般的ではないかと思います。
#それにしてもScoreupGolf・・・気になる名称ですw
Seasar-user メーリングリストの案内