従来の ASP から ASP.Net への 1 回限りのセッション データ コピー
-
20-09-2019 - |
質問
当社には大規模なクラシック ASP サイトがあり、ASP .Net (おそらく最新バージョン) へのアップグレードを検討しています。すべてのページを一度にアップグレードするのは明らかに大変な作業になるため、最初は ASP .Net で新しいページ (およびページの書き換え) を作成することだけを考えています。
そうするには次の 2 つの障害があります。
ASP .Net でクラシック ASP セッション データにアクセスする方法がわかりません。ログイン ページ以外のページでは変更されないため、これを設定する必要があるのは 1 回だけです。従来の ASP ログイン ページには最小限の変更を加えたいと考えていますが、それはほんの小さな好みに過ぎません。
バージョンの違いをシームレスに保つために、ASP セッションと ASP .Net セッションは同時にタイムアウトする必要があります。
誰か助けてくれませんか?
前もって感謝します。
解決
私たちは同じ課題に直面しました(楽しくありません)。Asp.Net セッションと Asp セッションは共有できないため、状況に応じてさまざまな方法を組み合わせて使用しました。
- 場合によっては、セッションの代わりに Cookie を使用しました。
- 他の例では、ユーザーのセッション情報が従来の ASP ページで設定されている場合、セッション情報の設定後に Asp.Net ページにリダイレクトされ、クエリ文字列パラメーターを読み取り、それらのパラメーターを使用して設定できるように、自動的にフォームを投稿するように設定しました。 Asp.Net の同じセッション変数。その後、Asp.Net ページで同じ変数が設定されると、そのページは元のログイン ページが以前に指していたページにリダイレクトされます。同じことが逆に機能しました。
したがって、2 番目のシナリオでは、フロー例は次のように変更されます。
ユーザーは、一部の保護されたコンテンツページにアクセスしようとします - >ログインページにリダイレクト - >ログイン - >ログインの成功に基づいてセットされたセッション情報 - >コンテンツページにリダイレクトされます。
に
ユーザーは、いくつかの保護されたコンテンツページにアクセスしようとします - >ログインページにリダイレクトされます - >ログイン - >ログインの成功に基づいてセットされたセッション情報 - > .NETページにリダイレクトされ、ログイン資格情報を渡します。- > ASPXページはセッション情報を設定し、すぐにコンテンツページにリダイレクトします。
これがハッキングであることはわかっていましたが、すべてのサイトを変換できるまでの短期的には効果がありました。
他のヒント
(私はIIS7が行うことができますどのような新しいグッズを最新に保たれていませんでした認めなければならない)新しいIISの設定を使用してこれを行うには良い方法があるかもしれません。しかし、あなたはASP.NetページにあなたのASPログインページからXMLRequestを行うことができます。あなたは、ポストデータで必要な設定を通過するか、ロジックは十分に簡単である場合、.NETのページは、セッションデータそのものを取り込む可能性がありどちらか。 .NETページはその後、あなたのクッキーで、.NETのセッションIDを返します、そのユーザーは、.NETとクラシックASPセッションCookieの両方を持つようにASPユーザーのクッキーコレクションでこれを設定する必要があります。
それはそれを行うだろう。
私は、データベースを使用して、数年前に、これを実装しました。
それだのにMicrosoftは、その上にかなり良い記事を持っていますこの時点で少し古います。