0

私はあなたが何を考えているか知っています...他の誰かがこの間違いを犯しました!

標準の.NETメンバーシッププロバイダーを使用するサイトで作業しています。ユーザーはアカウントを作成してログインできますが、物理的にアカウントを作成せずにチェックアウト(商品の購入)することもできます。この場合、ユーザーはまだ.NETメンバーシップアカウントを作成していますが、標準のFormsAuthentication.SetAuthCookieを使用してログインしていません。これは問題ないようです-ユーザー(アカウントを作成していないユーザーが1時間アイドル状態になっている場合を除き、詳細を再入力するように求められることはありません)。ユーザーがチェックアウトすると、アカウントが作成され、そのUserProviderKeyがセッションに保存されます。

問題は、アカウントを作成したユーザーにあります。チェックアウトプロセスは、セッションオブジェクトの存在に依存します。セッションがタイムアウトした場合でも、FormsAuthentication cookieがまだ存在している場合があります。これにより、ロジックがいくつかの問題に陥ります。

だから、私はおそらくセッションオブジェクトに何かを入れてそれに依存するのを間違えたことを理解していますが、代替手段は何ですか?クッキーはもっと良いですか?

前もって感謝します

アル

4

1 に答える 1

0

車輪を再発明する必要はありません。Asp.net は、オプションで登録ユーザーに移行できる匿名プロファイルの概念をサポートしています。これはあなたのアプリケーションで可能ですか?

匿名プロファイルのサポートはデフォルトでは有効になっていないため、明示的に有効にする必要があります。

http://msdn.microsoft.com/en-us/library/ewfkf772.aspx

于 2012-04-26T22:03:16.647 に答える