mvc4アプリケーションで単純なメンバーシッププロバイダーを使用していますが、そのために生成された5つのテーブルを確認できます。その中で、ユーザー名とパスワードが異なるテーブルに保存されていることがわかります。いくつかのカスタムフィールドを使用して、ユーザー名とパスワードを同じテーブルに保存したいと思います。そのため、ExtendingMembership Providerを継承して、独自のMembershipProviderを作成しています。それについていくつか質問があります。
- 私のアプリケーションは3層アーキテクチャ(BLL、DAL、プレゼンテーションレイヤー)を使用し、アカウントと管理者用に2つの領域を作成しました。したがって、ここでは、AuthorizeAttributeを使用するためのアプリケーションのすべての部分でアクセスされるメンバーシッププロバイダーを配置する場所がわかりません。
このメソッドCreateUserAndAccountをオーバーライドしています。ユーザー登録データをデータベースに保存するために、独自のロジックを実装する必要がありますか。しかし、一部のパラメーターのみが渡されることがわかりました。辞書オブジェクトを使用して、残りのカスタムフィールドをビューからコントローラーに渡す方法は?
public override string CreateUserAndAccount(string userName, string password, bool requireConfirmation, IDictionary<string, object> values) { throw new NotImplementedException(); }