[Seasar-user:4967] Re: [S2JSF] セッション管理
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2006年 11月 1日 (水) 12:45:22 JST
米林です。
From: "Hiroyuki Onagi" <[E-MAIL ADDRESS DELETED]>
Sent: Tuesday, October 31, 2006 8:38 PM
> 小名木と申します。
>
> S2JSFで Web 画面を作成しています。
> ログイン認証でセッション管理を行った場合の動作について
> 教えて頂きたい事が御座います。
>
> ■質問1
>
> セッションタイムアウトが発生すると、Tomcat の仕様では、
>
> request.getSession(false);
>
> は null を返すという仕様を確認しました。
>
> J2SF では セッションタイムアウトすると 自動的に新しい
> セッションを取得しているようですが、
> これは仕様でしょうか?
はい、仕様です。
# S2JSFでは無く、S2本体の仕様です。
理由としましては、S2としてはアプリケーションが介入することなく
Sessionスコープのコンポーネントを返さないといけないので
getSession(false) にすることはできない為です。
> ■質問2
>
> セッションタイムアウトになったか?をアクションから知る方法は
> ありますでしょうか?
現状アクション内で、セッションタイムアウトになったか?を
知る方法はsessionスコープのコンポーネントに値を保持させて
その値の有無で判断すれば出来そうですが、JSFとの絡みで
セッションタイムアウト直後のアクションが実行されないので
ServletFilterを使用して下さい。
> ■質問3
>
> セッションタイムアウトになった場合、
> ユーザー名
> パスワード
> の入力を促す画面を再度ポップアップさせる方法はありますか?
>
> ※ Tomcat の仕様かと思われますが、こちらに質問するのは外
> れているかも知れません。その場合、ポインタだけでも教えて
> 頂けると助かります。
ServletFilterにて、セッションの有無を見て判断出来ます。
セッションが無ければログイン画面にリダイレクト。
セッションがあっても、ログイン情報がなければ
ログイン画面にリダイレクトという感じです。
よろしくお願いします。
Seasar-user メーリングリストの案内