シナリオは次のとおりです。
- ユーザーが Web サイト #1 にログインします。認証されると、サイトはユーザーに関するいくつかの資格情報を収集し (この質問とは関係のない別のプロセス)、この情報を Web サイト #2 のページに投稿します。
- Web サイト #2 は FormsAuthentication によって保護されており、ユーザーをログイン ページにリダイレクトします。
- この時点で、Web サイト #1 によって投稿された値は失われます。
質問:
Web サイト #2 での認証/ログイン プロセス中に Web サイト #1 から投稿された値を保持するにはどうすればよいですか。
私たちが試したこと:
- Global.asmx の Session_Start メソッドにコードを挿入しようとしました。セッションに値を保存したかったのですが、ユーザーがログイン ページにリダイレクトされたときにのみセッションが開始されます (ブレークポイントに到達)。この時までに、私たちはすでに価値を失っています。
- Application_BeginRequest にコードを入れてみましたが、そのメソッドからセッションにアクセスできません。
データの長さがクエリ文字列に入れるには長すぎるため、GET ではなく POST を使用する必要があります。Cookie に値を保存できないのと同じ理由です。