1

リポジトリ パターン データベースにユーザー テーブルがあり、ロールを接続しようとしています。シンプルなメンバーシップをカスタマイズする最良の方法は何ですか?

4

2 に答える 2

1

プロジェクトのフォルダーにInitializeSimpleMembershipAttribute.csあるファイルに構成を設定する必要があります。Filters

そのファイルを開き、次の行を見つけます。

WebSecurity.InitializeDatabaseConnection("DefaultConnection", 
                                         "UserProfile", 
                                         "UserId", 
                                         "UserName", 
                                         autoCreateTables: true);

ここで、データベースへの接続文字列 (web.config で宣言する必要があります) を最初のパラメーターに、テーブル名を 2 番目のパラメーターに、UserId 列名を 3 番目のパラメーターに入れるだけです。および UserName 列名を 4 番目のパラメーターに入力します。

最後のパラメーターについては、true に設定すると、単純なメンバーシップが必要なテーブルをデータベースに見つけられない場合、それらが作成されます。

ただし、単純なメンバーシップには別のテーブルを使用し、SM に独自のテーブルを作成させることをお勧めします。その後、次のようなコード ブロックを使用して、既存のすべてのユーザーを SM テーブルに一度だけ追加できます。

var oldUsers = db.Users.ToList();

foreach (User u in oldUsers)
{
    WebSecurity.CreateUserAndAccount(u.UserName, u.Password);
}

その後、メンバーシップと承認のジョブに問題はなくなりました...

于 2013-08-22T09:35:11.480 に答える
1

次の MSDN の記事をお読みください。

メンバーシップ プロバイダーの実装

ロール プロバイダーの実装

および次の CodeProject 記事:

Web サービスを使用するカスタム MembershipProvider および RoleProvider 実装

于 2013-08-22T09:33:52.413 に答える