2017-03-11 33 views
0

私たちはページをゆっくりと展開しています。基本的にログインページはASP.NETにあり、古いページはASPクラシックにあり、メニューの下のIframeに配置されます。彼らはメニュー/ページを処理する2つの異なるサーバーを持っています。 .NETからASP Classicにユーザーセッションを渡す最善の方法は何ですか。ASPからASP.NETにセッション変数を渡そうとしています

.NETログインを変更して、ユーザーの資格情報をASPページに送信し、同時にログインを送信することは可能かもしれないと考えました。これに何か問題がありますか、これを行うよりクリーンな方法がありますか?

答えて

1

ASP.NETコードは、使用していないにもかかわらず、従来のASPセッションクッキーを含む、ドメイン内のすべてのクッキーを読み取ることができます。あなたはそれを利用することができます。

  1. ASP.NET側でサインオンを処理します。フレームワークは、認証プロセスによって作成された他のクッキーに加えて、受動的にASPセッションとASP.NETセッションの両方を作成する必要があります。

  2. 従来のASPセッションCookieを読み取って、JointSessionというレコードをデータベースに作成して、どのユーザーが現在サインオンしているかを示します。 ASPセッションのCookie値と現在のASP.NETセッションID(それぞれ独自の列にあります)を、ユーザーID、ロール、および2つのサイト間で共有する必要があるものと共に保存します。

  3. 独自のセッションCookieを読み取り、対応するJointSessionデータベースレコードを検索するASPコードを書きます。見つかった場合、サイトのASP側はユーザーがASP.NETにサインインしたことを推測し、独自の一致セッションを作成してJointSessionレコードのフィールドから初期化することができます。

  4. ASPとASP.NET間でデータを渡す必要がある場合は、JointSessionに列を追加するか、おそらくEAVスキーマを使用します。それが私だったら、VarCharカラムを追加してそこにいくつかのJSONをスローします。

関連する問題