2009-07-28 11 views
1

私はasp.net mvcを使用して電子商取引アプリケーションを開発しています。ASP.Net MVC - 戻るユーザーを識別する最善の方法

ユーザーが正常にアプリケーションがデータベース(お気に入り、注文履歴、未完成カートなど)から追加データを引っ張っているシステムにログインした後

使用するユーザーが私のオプション覚えていれば場合には、そのデータをプルするための最良の方法は何ですか?

ユーザーが認証され、追加データがマスターページに読み込まれていないことを確認することを検討していますが、最適な解決策ではないようです。

答えて

1

私はこれらのビットをまとめて収集するユーザークラスを持っています。

セッションの開始時に、私は認証をチェックし、作成し、それを移植し、セッション変数に格納します。その後、あなたはどこからでもアクセスできます(セッション変数とアプリケーション変数からオブジェクトを取得/キャストするGlobals静的クラスも作成しています)。または、ページロードごとに実行できます。

上記の情報は、返品しているユーザーを対象としています。しかし、ログイン時に作成し、ログアウト時にアカウントコントローラから破棄することも忘れてはなりません。

また、このように正確に保存する必要があるものについて考えてみることをお勧めします。セッション変数はこのデータをキャッシュするのに最適ですが、注文履歴をキャッシュする必要があるかどうかはわかりません。それは一般的にしかアクセスされません。実際には、クラスをセッションに入れないことを選択しても、各ページの読み込み時にクラスを作成するようにしても、オーダー履歴を取得するのは難しいようです。 (あなたがリソースを浪費しているいずれかの方法 - 。キャッシュに格納したり、頻繁にそれを集める)

ジェームズ

+0

は私がログインアクションにセッションに保存していた軽量Userクラスを持っているし、ログアウト時に削除します。注文履歴はそこに保存されませんが、要求に応じて引き出されます。 認証を確認する方法の詳細について教えてください。 –

+0

ああ何か狂ったことをしていないと仮定して(自分の認証をロールバックするなど)、HttpContext.Current.User.Identity.IsAuthenticatedをチェックしてください。 Identity.Nameからユーザー名を取得することもできます。 –

関連する問題