C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[9]: セッションの継続方法


(過去ログ 14 を表示中)

[トピック内 10 記事 (1 - 10 表示)]  << 0 >>

■4702 / inTopicNo.1)  セッションの継続方法
  
□投稿者/ Web初心者 (1回)-(2007/06/22(Fri) 17:02:41)

分類:[VB.NET (ASP.NET)] 

セッションの継続方法についてお教え下さい。

今、「Servlet + JSP + Tomcat」で構築したWebアプリと、
ASP.NETで構築したWebアプリがあり、この2つのシステムを
連携させようとしています。(TomcatとIISは連携済)

で、Servletで作成したWebアプリから、
ASP.NETで作成したWebアプリのページを
呼出そうとしているのですが、この際、
セッションを継続させることはできるのでしょうか?

現状は、ASPのページを開いた際に、
新しいセッションIDが割り振られ
別のセッションとなってしまいます。

もし、セッションの継続が無理だとしても、
ServletのセッションをASP.NET側で参照できれば
良いのですが、そのやり方もわかりません。

初心者にて、文中おかしな説明があるかもしれませんが、
何卒ご教授の程よろしくお願いします。

引用返信 編集キー/
■4704 / inTopicNo.2)  Re[1]: セッションの継続方法
□投稿者/ 黒龍 (74回)-(2007/06/22(Fri) 17:17:39)
DBで永続化データとして作りこむ以外ないように思います。
(Tomcat、ASP.NETのどちらかで合わせこんだとしてもVersionUp時は保証されないと思いますので)
引用返信 編集キー/
■4705 / inTopicNo.3)  Re[2]: セッションの継続方法
□投稿者/ いしだ (9回)-(2007/06/22(Fri) 17:26:21)
いしだ さんの Web サイト
2007/06/22(Fri) 17:27:54 編集(投稿者)
2007/06/22(Fri) 17:27:52 編集(投稿者)
2007/06/22(Fri) 17:27:17 編集(投稿者)

こんにちは。

簡単な情報であれば、クッキーかURLに埋め込んではどうでしょう?

そうでなければ、黒龍さんの言うように、
セッション情報をファイルに保存したりDBに格納したりして、
セッションIDを渡すような感じで出きるんじゃないでしょうか。

引用返信 編集キー/
■4708 / inTopicNo.4)  Re[3]: セッションの継続方法
□投稿者/ ほーく (1回)-(2007/06/22(Fri) 18:08:21)
ぬるぽ・・・じゃなかった、マルチポスト
http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=19897&rev=&no=0
引用返信 編集キー/
■4717 / inTopicNo.5)  Re[4]: セッションの継続方法
□投稿者/ Web初心者 (2回)-(2007/06/22(Fri) 20:21:06)
No4708 (ほーく さん) に返信
> ぬるぽ・・・じゃなかった、マルチポスト
> http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=19897&rev=&no=0

すみません。初歩の初歩でしたね。
出直してきます・・・
解決済み
引用返信 編集キー/
■4742 / inTopicNo.6)  Re[5]: セッションの継続方法
□投稿者/ はつね (186回)-(2007/06/24(Sun) 09:36:18)
はつね さんの Web サイト
No4717 (Web初心者 さん) に返信
>>ぬるぽ・・・じゃなかった、マルチポスト
>>http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=19897&rev=&no=0
>
> すみません。初歩の初歩でしたね。
> 出直してきます・・・

どちらも終了しちゃって本当にいいのですか?
質問する掲示板を一本化とかして(もちろん閉じてしまう方は続ける掲示板のURLしめすなどして)問題解決の糸口示してくれた内容について返信するとかしないとダメなんじゃないかと思いますよ。

あまり考えなしに(ルールとか気を使わずに)行動してしまって、結果、注意されたならば謝って退散すれば良いというのは、何か問題を解決しようとするときの行動としてはとってはいけない行動だと思います。
解決済み
引用返信 編集キー/
■4763 / inTopicNo.7)  Re[6]: セッションの継続方法
□投稿者/ Web初心者 (3回)-(2007/06/25(Mon) 11:02:16)
確かに、その通りですね・・・。
土日で反省してきましたので、もう一度改めて(解決にしてしまったので)
質問したいと思います。
引用返信 編集キー/
■4765 / inTopicNo.8)  Re[7]: セッションの継続方法
□投稿者/ Web初心者 (4回)-(2007/06/25(Mon) 11:12:51)
それでは改めまして。
まずはお礼から。

黒龍さん>>
 DBで永続化に関しましては、最終手段として考えております。
 もうすこしもがいてみようかと思っております。

いしださん>>
 URLへの埋め込みは試してみました。クッキーへの埋め込みに関しましては、
 もう少し情報を集めてみようかとおもっておりますが、何かいい情報があれば
 お教え頂けると助かります。

ほーくさん>>
 ご指摘ありがとうございます。

はつねさん>>
 ご指摘ありがとうございます。
 めげずに再投稿はじめました^^;


それでは、再質問を。

今、「Servlet + JSP + Tomcat」で構築したWebアプリと、
ASP.NETで構築したWebアプリがあり、この2つのシステムを
連携させようとしています。(TomcatとIISは連携済)

で、Servletで作成したWebアプリから、
ASP.NETで作成したWebアプリのページを
呼出そうとしているのですが、この際、
セッションを継続させたいと思っています。

JSPからJavaScriptの「showModalDialog」でASPXファイルを呼んでいる
のですが、そもそもこれではセッションは引継がれないのでしょうか?
ちなみに、URLへのセッションIDの埋め込みをおこなってみましたが、
セッションは引継げてないようでした。

セッションが引継げていないと判断した材料は、SessionIDが違う事と、
ServletでセットしたStringのセッション変数が.NET側で取得できない事なのですが、
もしかしたら、これも勘違いなのでしょうか。
JSPとASPでは、SessionIDの振り方が違うようなので、実は同じIDで、
表現が違うだけとか、Stringでセットした変数も取得の仕方が違う為、
取得できていないだけとか・・・

と、いった様な状況なのですが、何かしらヒントを頂けると、
今後の調査の指針となると思いますので、ご教授よろしくお願いいたします。
引用返信 編集キー/
■4767 / inTopicNo.9)  Re[8]: セッションの継続方法
□投稿者/ 黒龍 (76回)-(2007/06/25(Mon) 12:14:52)
えと齟齬があってはいけないので基本的なところから書きますね。(んなこた知ってるってことも書くと思います)
まず、アプリケーション、セッション、リクエスト(ViewState)などのサーバ側の領域というのはWebサーバの機能じゃなくて拡張部分(ASP.NET、Tomcat)での実装で全く別ということになります。
特にセッションというのはクッキーやリクエストに埋め込んだIDとサーバ側メモリの紐付けをASPやサーブレットなどがそれぞれやっているに過ぎませんから横断的に使用できる情報ではありません。

そもそもセッションは余り使わないほうがいいというお話は置いておくとしてそれぞれの拡張部分同士で情報共有したい場合はユーザ側に入れるかDBに格納するかという方法を取ることになります。
ユーザ側で使用できるのはリクエストパラメータに埋める(リクエスト、ViewStateが該当するがデータ互換性がないので自分で埋めることになります)、クッキーを使用するなどの方法がありますがどちらもセキュリティリスクになりうるという点に注意です。
DB側はいたって簡単でDBをクッションに置くことで情報をやり取りします。(このDBでの永続化はどうも嫌われているようですがある程度の規模にスケールアウトすることを考えると必須な作業になります)
セッションで引き継ぐ情報がセキュアなものでなければリクエストに埋める。セキュアなものならばDBに格納してその情報の紐付けはユーザ側に発行したクッキーで紐付けるなどの対応になると思われます。


引用返信 編集キー/
■4768 / inTopicNo.10)  Re[9]: セッションの継続方法
□投稿者/ Web初心者 (5回)-(2007/06/25(Mon) 13:06:50)
黒龍さん>>
 早速の回答ありがとうございます。
 
>> 特にセッションというのはクッキーやリクエストに埋め込んだIDとサーバ側メモリの紐付けを
>> ASPやサーブレットなどがそれぞれやっているに過ぎませんから横断的に使用できる情報ではありません。

自分もこの点で苦しんでいます。やはり無理っぽいんですかね。
DBにて管理する方法が一番楽で、安全で、しかも確実かもしれませんね。
参考にさせていただきます!
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -