0

ユーザー名フィールドを更新できるように、単純なメンバーシップテーブルを自分で作成しました(自動作成させただけでは、これを行うことはできません)。

var confirmationToken = WebSecurity.CreateUserAndAccount(model.UserName, Request["Password"], new { NameFirst = model.NameFirst, NameLast = model.NameLast, ContactId = newContact.ContactId },true);

このコード行を実行すると、ユーザー名が既に存在するというエラー メッセージが表示され続けます。奇妙なのは、テーブルに同じ名前のユーザー名がなく、登録ごとにそれを行うことです。おそらく自分でテーブルを作成することと関係がありますが、この問題がどこにあるのかわかりません。

それは私の UserProfile テーブル (UserSecurity と呼ばれます) に追加されますが、メンバーシップ テーブルにはユーザーが含まれません。

編集: 上記の行は webpages_Membership テーブルを使用しています。代わりに UserMembership テーブルを使用する必要があります。

4

1 に答える 1

0

編集: 上記の行は webpages_Membership テーブルを使用しています。代わりに UserMembership テーブルを使用する必要があります。

シンプル メンバーシップ プロバイダーで既定のテーブルとは異なるテーブルを使用する場合は、WebSecurity.InitializeDatabaseConnectionポイントするテーブルを変更する必要があります。

ソリューション エクスプローラーで、フィルター -> に移動しInitializeSimpleMembershipAttribute.cs、代わりにこれを使用します。

WebSecurity.InitializeDatabaseConnection("MyContext", "TableToPointTo", 
"UserIdColumn", "UserNameColumn", autoCreateTables: true);
于 2013-03-11T18:28:46.913 に答える