[Seasar-user:17804] Re: [SAStruts]インターセプター(Interceptor)中でのセッション(HttpSession)の取得方法について
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2009年 6月 20日 (土) 17:50:59 JST
田中です。
ひがさん、小林さんとも素早いレスを頂きありがとうございます。
※Seasar初心者ということもあり、既出の情報に気づいておらず申し訳ありません。
おかげで、インターセプター側のインスタンススコープ指定漏れに気づきました。
小林さんの情報を元に修正を行い、以下の設定で動作が確認できています。
<インターセプタのソース> ※「session」プロパティを追加
> public class LoginCheckInterceptor extends AbstractInterceptor {
> public HttpSession session;
<インターセプタの設定> ※「instance」指定を追加
<component name="loginCheckInterceptor" instance="request" (以下略)
<カスタマイザの設定> ※「useLookupAdapter」「addIgnoreClassPattern」追加
<component name="loginCheckCustomizer" class="org.seasar.framework.container.customizer.As
pectCustomizer">
<property name="interceptorName">"loginCheckInterceptor"</property>
<property name="useLookupAdapter">true</property>
<initMethod name="addIgnoreClassPattern">
<arg>"sample.sastruts.aop.action"</arg>
<arg>"LoginAction"</arg>
</initMethod>
</component>
認証チェック対象外クラスの指定もできたので、良い感じです。
ご報告まで。
----- Original Message -----
送信者: Koichi Kobayashi<[E-MAIL ADDRESS DELETED]>
宛先: [E-MAIL ADDRESS DELETED]
日付:Saturday, June, 20, 2009, 01:30 AM
件名: [Seasar-user:17799] Re:[SAStruts]インターセプター(Interceptor)中でのセッション(Http
Session)の取得方法について
>
>
> 小林 (koichik) です.
>
> Date: 19 Jun 2009 20:44:45 +0900
> From: [E-MAIL ADDRESS DELETED]
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:17797] [SAStruts]インターセプター(Interceptor)中でのセッション(Ht
tpSession)の取得方法について
>
> > MLの中から以下の実装が数件見つかり、動作も確認できているのですが、
> > これは正しい取得方法なのでしょうか。
> >
> > public class LoginCheckInterceptor extends AbstractInterceptor {
> > public Object invoke(MethodInvocation invocation) throws Throwable {
> > HttpSession session =
> > (HttpSession)SingletonS2ContainerFactory.getContainer().
> > getExternalContext().getSession();
>
> それでも構いません.
> あるいは,
>
> public class LoginCheckInterceptor extends AbstractInterceptor {
> public HttpSession session;
>
> public Object invoke(MethodInvocation invocation) throws Throwable {
> ...
> }
> }
>
> と public プロパティを用意して,customizer.dicon を
>
> http://www.seasar.org/wiki/index.php?FAQ%2FS2AOP#q69751d4
>
> にあるように設定する方法でも大丈夫です.
> この場合,自分で HttpSession を取りに行く必要は
> ありません.
>
>
> --
> <component name="koichik">
> <property name="fullName">"Koichi Kobayashi"</property>
> <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
> <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> </component>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内