2009-06-10 7 views
0

ユーザーが自分のASP.NET MVCアプリケーションにログオンすると、そのユーザーが所属する会社を保持する必要があります。彼らが所属する会社は、どのデータベースが来ているのかを判断するので、ログインして永続的に会社に問い合わせることが重要ですので、このルックアップを再度実行する必要はありません。ASP.NET MVCとMembershipProviderを使用して、ユーザーが所属する会社はどこで維持できますか?

どこにこの企業IDを保存する必要がありますか?セッション?この情報をUserオブジェクトに保持できるようにするMembershipProviderをカスタマイズするにはどうすればよいですか?

これを処理するにはどうすればよいでしょうか?文字通り、それ以降のすべてのクエリはその会社IDに大きく依存するため、その情報を保持することが重要です。

答えて

1

ASP.NETのプロファイルプロパティを使用できますが、独自のハンドラを作成する必要があります。第七要素の答えをthis questionにチェックして、始める方法についてのアイデアを確認してください。

1

write your own Auth moduleFormsAuthenticationを拡張し、会社をIPrincipalに格納することができます。

次に、User.Identity.NameのようなUser.Identity.Companyを実行します。

これは、キャッシュやセッションのような既存のバケットに会社を拘束するよりも前払いの作業ですが、すべての作業が終わったらかなり簡単なコードを書くことができます。

0

あなたは、プロファイルを使用しているため、DBコールごとにDBへの1回の追加往復を意味するので、私はセッションに入れます。

とにかくすべてのアクションメソッドでプロファイルにアクセスする場合は、オフコースで使用する必要があります。

関連する問題