2012-04-26 11 views
0

私はあなたが思っていることを知っています...誰かがこのミスを犯しました!セッション/ CookieとFormsAuthentication Cookieを同期させる

標準の.NETメンバーシッププロバイダを使用するサイトで作業しています。ユーザーはアカウントとログインを作成できますが、物理的にアカウントを作成せずにチェックアウト(商品の購入)することもできます。この例では、ユーザーはまだ.NETメンバーシップアカウントを作成していますが、標準のFormsAuthentication.SetAuthCookieを使用してログインしているわけではありません。これは大丈夫だと思われます - ユーザーが(アカウントを作成していない人は1時間アイドル状態になっていて、彼らの詳細を再入力するよう促されない限り)。ユーザーがチェックアウトすると、アカウントが作成され、UserProviderKeyがセッションに格納されます。

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

私はおそらくセッションオブジェクトに何かを入れてからそれに応じて間違いを犯したと思っていますが、代わりに何がありますか?クッキーはどんなに良いですか?事前に

おかげ

アル

答えて

0

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

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

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

+0

うーん、私はそのことを考えていませんでし。ただし、匿名のプロファイル情報はどこに保存されていますか?それはまだaspnet_Usersテーブルにありますか? – higgsy

関連する問題