私はあなたが何を考えているか知っています...他の誰かがこの間違いを犯しました!
標準の.NETメンバーシッププロバイダーを使用するサイトで作業しています。ユーザーはアカウントを作成してログインできますが、物理的にアカウントを作成せずにチェックアウト(商品の購入)することもできます。この場合、ユーザーはまだ.NETメンバーシップアカウントを作成していますが、標準のFormsAuthentication.SetAuthCookieを使用してログインしていません。これは問題ないようです-ユーザー(アカウントを作成していないユーザーが1時間アイドル状態になっている場合を除き、詳細を再入力するように求められることはありません)。ユーザーがチェックアウトすると、アカウントが作成され、そのUserProviderKeyがセッションに保存されます。
問題は、アカウントを作成したユーザーにあります。チェックアウトプロセスは、セッションオブジェクトの存在に依存します。セッションがタイムアウトした場合でも、FormsAuthentication cookieがまだ存在している場合があります。これにより、ロジックがいくつかの問題に陥ります。
だから、私はおそらくセッションオブジェクトに何かを入れてそれに依存するのを間違えたことを理解していますが、代替手段は何ですか?クッキーはもっと良いですか?
前もって感謝します
アル