- PR -

struts struts-config(scope=session)

投稿者投稿内容
nori1122
常連さん
会議室デビュー日: 2003/09/14
投稿数: 30
投稿日時: 2003-11-10 18:23
引用:

toppoさんの書き込み (2003-11-10 18:15) より:
こんにちはtoppoです。

スコープをrequestにするという事と、
値をhiddenで持つ事は実質的には
違いますよね。

だから、hiddennで持つ事がセキュリティ上不安
という心配に対しては、恐らく当てはまらないでしょう。

なので、解決案としての
"スコープをrequestにしてみる"
は再度検討する意義がありそうですね。。

それでは。





ご返信ありがとうございます。
もし私がトンチンカンなこといってたら指摘してください。

以前行った書き込みなんですが(↓)の場合に、情報をどう保持するかという議論です。
(本当は違う話だったのですが、今はそういう話になっています。)

今以下のような処理の中で、セッション保持を使用したいとおもっていたのですが、
登録画面
↓ ボタン押下 : ☆セッション内にActionFormの情報を保持 ☆
登録内容の確認画面
↓ ボタン押下
実際の登録処理 :セッション内のActionFormの情報を使って登録
※登録後、セッション内のActionForm情報は不要
toppo
ベテラン
会議室デビュー日: 2003/10/28
投稿数: 89
お住まい・勤務地: 東京・池袋
投稿日時: 2003-11-10 18:50
toppoです。

この掲示板の引用のやり方がいまだによく分からないのですが。
(まさかコピペですか?)

登録内容の確認画面に対応するActionFormは
無いのですか?

そうすればrequestスコープにのみ
値を受け渡しつつ登録までいけると思うのですが。


ちなみに、sessionに大きなオブジェクトを保持する場合、
仮にサーバーがクラスタ構成になっていたりすると
さらに致命的ですよ。


以上です。
nori1122
常連さん
会議室デビュー日: 2003/09/14
投稿数: 30
投稿日時: 2003-11-10 18:58
引用:

toppoさんの書き込み (2003-11-10 18:50) より:
toppoです。

この掲示板の引用のやり方がいまだによく分からないのですが。
(まさかコピペですか?)

登録内容の確認画面に対応するActionFormは
無いのですか?

そうすればrequestスコープにのみ
値を受け渡しつつ登録までいけると思うのですが。


ちなみに、sessionに大きなオブジェクトを保持する場合、
仮にサーバーがクラスタ構成になっていたりすると
さらに致命的ですよ。


以上です。




コピペじゃないです、メッセージの下にある引用をクリックして投稿するんですよ。

requestスコープにのみ値を受け渡しつつ登録まで・・といっているのは、どういうことですか?
requestスコープなのに、hiddenで埋め込まずにそのようなことができるのですか?
(基本的な質問でしたらすみません・・・)

---
クラスタのときはもちろんそうですが、その場合はプログラム側での考慮というよりまた違う仕組みのなかで回避する問題ではないですか?

toppo
ベテラン
会議室デビュー日: 2003/10/28
投稿数: 89
お住まい・勤務地: 東京・池袋
投稿日時: 2003-11-10 22:26
引用:

noriさんの書き込み (2003-11-10 18:58) より:
引用:

toppoさんの書き込み (2003-11-10 18:50) より:
toppoです。

この掲示板の引用のやり方がいまだによく分からないのですが。
(まさかコピペですか?)

登録内容の確認画面に対応するActionFormは
無いのですか?

そうすればrequestスコープにのみ
値を受け渡しつつ登録までいけると思うのですが。


ちなみに、sessionに大きなオブジェクトを保持する場合、
仮にサーバーがクラスタ構成になっていたりすると
さらに致命的ですよ。


以上です。




コピペじゃないです、メッセージの下にある引用をクリックして投稿するんですよ。

requestスコープにのみ値を受け渡しつつ登録まで・・といっているのは、どういうことですか?
requestスコープなのに、hiddenで埋め込まずにそのようなことができるのですか?
(基本的な質問でしたらすみません・・・)

---
クラスタのときはもちろんそうですが、その場合はプログラム側での考慮というよりまた違う仕組みのなかで回避する問題ではないですか?





どうもtoppoです。
早速引用してみました。

サーブレットにはセッション管理機能があり、
そのスコープとして
アプリケーション, セッション, リクエスト, ページ
があります。

これは元ネタのStrutsというより
Servlet/JSPの話なので

詳しい説明は、いろいろ調べればネタの少ないテーマではないはずですよ。

クラスタのときにsession同期のコストを抑える方法は
sessionの利用制限をする以外に効率的な方法は知らないので
スミマセン。私は、プログラムレベル(物理設計レベル)で
考慮しないと致命的なボトルネックになる
恐れがある問題だと認識しています。

nori1122
常連さん
会議室デビュー日: 2003/09/14
投稿数: 30
投稿日時: 2003-11-10 23:04
引用:

toppoさんの書き込み (2003-11-10 22:26) より:
引用:

noriさんの書き込み (2003-11-10 18:58) より:
引用:

toppoさんの書き込み (2003-11-10 18:50) より:
toppoです。

この掲示板の引用のやり方がいまだによく分からないのですが。
(まさかコピペですか?)

登録内容の確認画面に対応するActionFormは
無いのですか?

そうすればrequestスコープにのみ
値を受け渡しつつ登録までいけると思うのですが。


ちなみに、sessionに大きなオブジェクトを保持する場合、
仮にサーバーがクラスタ構成になっていたりすると
さらに致命的ですよ。


以上です。




コピペじゃないです、メッセージの下にある引用をクリックして投稿するんですよ。

requestスコープにのみ値を受け渡しつつ登録まで・・といっているのは、どういうことですか?
requestスコープなのに、hiddenで埋め込まずにそのようなことができるのですか?
(基本的な質問でしたらすみません・・・)

---
クラスタのときはもちろんそうですが、その場合はプログラム側での考慮というよりまた違う仕組みのなかで回避する問題ではないですか?





どうもtoppoです。
早速引用してみました。

サーブレットにはセッション管理機能があり、
そのスコープとして
アプリケーション, セッション, リクエスト, ページ
があります。

これは元ネタのStrutsというより
Servlet/JSPの話なので

詳しい説明は、いろいろ調べればネタの少ないテーマではないはずですよ。

クラスタのときにsession同期のコストを抑える方法は
sessionの利用制限をする以外に効率的な方法は知らないので
スミマセン。私は、プログラムレベル(物理設計レベル)で
考慮しないと致命的なボトルネックになる
恐れがある問題だと認識しています。





サーブレットのスコープについては大変理解しているつもりです。
私の質問は、toppoさんがおっしゃったrequestスコープにのみで情報を引き回すということに関してどうやるんですか?(HTML上に情報を格納せずに、(Hiddenを使わずに)どうやるんですか?)ってことを
聞きたかったんです。
toppoさんの回答次第では私のStrutsでの考えかたが大きく間違っている可能性があるため確認をしたかったんです。
roushi
常連さん
会議室デビュー日: 2003/07/18
投稿数: 28
投稿日時: 2003-11-11 00:21
こんばんわ
私もこの話に非常に興味があります。

登録画面
↓ ボタン押下 :セッション内にActionFormの情報を保持
登録内容の確認画面
↓ ボタン押下
実際の登録処理 :セッション内のActionFormの情報を使って登録

ちなみにこれはstruts-config.xmlの
scope属性がrequestなら無理な気がしますが。
struts-config.xmlの内容があるならみして
いただけますか?
PAL
ベテラン
会議室デビュー日: 2002/11/14
投稿数: 63
投稿日時: 2003-11-11 09:34
引用:

noriさんの書き込み (2003-11-10 18:19) より:
(1)については、自分で管理するほうが安全ですか?
(面倒という話になると、元も子もありませんが・・)
情報がクライアント側で持たれるんですから安全ではないですよね。
パスワードがHiddenで埋め込まれるとなると・・・どうでしょう?

(2)は確かにリソースは犠牲になりますが、でも(1)の安全性を考慮した設計をする上ではしかたないと思いますが。。ただ、今回の質問させていただいたとおり、私も無駄なリソース(使い終わったセッション)をなるべくなくしたいとは考えています。




--------------前置き
noriとroushiさんがおっしゃっている、
登録画面
↓ ボタン押下 :セッション内にActionFormの情報を保持
登録内容の確認画面
↓ ボタン押下
実際の登録処理 :セッション内のActionFormの情報を使って登録
の実現方法は?と言う話とは、関係ありません。
あくまで、
>情報がクライアント側で持たれるんですから安全ではないですよね。
>パスワードがHiddenで埋め込まれるとなると・・・どうでしょう?
への返答です。
--------------前置き終わり

えっと、toppoさんもおっしゃっていますが、requestにする事と、hiddenにする事を
ごっちゃにされていますよ。

スコープをリクエストにするって言う事は、
<action path="/aaa" name="ActionFormName" type="ActionName" scope="request">
って書く事であり、これによって、aaa.doのみで、ユーザーの入力値をActionFormName
から取得できる、と言うことです。
当然これはSession変数では無いので、次のリクエスト時には内容は消えます。

ただし、Sessionスコープではないので、確実にaaa.doのリクエストが終了した時点で
解放されますし、そもそもnoriさんのような事で思い悩む必要がありません。
ここから、さらに必要な情報があれば、Sessionなり何なりに入れてあげれば良いという
話だと思います。(少なくとも私はそういうつもりです)

と言う事で、hiddenの話はまったく関係しません。

とりあえず、これで(この件は)ご理解いただけたでしょうか?
PAL
ベテラン
会議室デビュー日: 2002/11/14
投稿数: 63
投稿日時: 2003-11-11 09:50
さて、requestとhiddenの話が終ったので、^^;
引用:

roushiさんの書き込み (2003-11-11 00:21) より:
こんばんわ
私もこの話に非常に興味があります。

登録画面
↓ ボタン押下 :セッション内にActionFormの情報を保持
登録内容の確認画面
↓ ボタン押下
実際の登録処理 :セッション内のActionFormの情報を使って登録

ちなみにこれはstruts-config.xmlの
scope属性がrequestなら無理な気がしますが。
struts-config.xmlの内容があるならみして
いただけますか?



ですが、struts-config.xmlのみで解決するのは無理ですよね?
ActionFormは消えますから。

私が設計しているWEBアプリケーションは、そう言った設計は排除している
のですが、もしやるとしたら、以下のような感じでしょうか。

・ActionFormをSessionスコープにしちゃう。
 ※全部が全部そうじゃないとは思いますが、いまんとこ。

このスレッド自体、話題が錯綜したため、

・noriさんの最初の投稿
 ⇒Sessionじゃ無くって、requestにしたらどう?
・noriさんの2番目(total3番目)の投稿
 ⇒
>登録画面
>↓ ボタン押下 :セッション内にActionFormの情報を保持
>登録内容の確認画面
>↓ ボタン押下
>実際の登録処理 :セッション内のActionFormの情報を使って登録
じゃ、requestじゃ無理ジャン!

って流れになってますからね。

スキルアップ/キャリアアップ(JOB@IT)