1

SimpleMembership プロバイダを使用して MVC4 アプリケーション内でログイン時にルート レベル オブジェクトを初期化 (作成またはロード) する最良の方法は何ですか? 良い例は、ユーザーの「受信箱」オブジェクトです。ユーザーが初めてログインすると、受信トレイが作成され、ユーザー アカウントにリンクされます。その後のログイン時に、そのユーザーの Inbox オブジェクトがロードされ、そのオブジェクトの下ですべての子オブジェクト (フォルダー、メッセージなど) にアクセスできるようになります。ASP.NET が提供するプロバイダーまたはアカウント コントローラー/モデルを拡張しないことが重要です。

4

1 に答える 1

0

プロバイダーまたはモデルを拡張したくない場合は、新しいユーザーの登録とログオンが成功した後にWebSecurity.CurrentUserIdを呼び出します。これにより、システムによって生成された一意のデータベース ID が提供され、これを別のデータベース/テーブルで外部キーとして使用して、受信トレイ オブジェクトにリンクできます。その後、ユーザーがログオンするたびに、CurrentUserId を呼び出し、ID を使用して Inbox でクエリを実行し、正しいボックスを取得します。

SimpleMembership のユーザー プロファイルは、この記事で説明されているように、簡単にカスタマイズできるようになっています。既存のアカウント モデルの変更に関する制限を理解していれば、他の解決策を提供できるかもしれません。

于 2013-05-01T19:28:00.707 に答える