0

シンプルメンバーシップのユーザー名を変更できないのはなぜですか。私はもう試した

MembershipUser memUser = Membership.GetUser(existingUser);
memUser.UserName = model.UserName;
Membership.UpdateUser(memUser);

MembershipUser.UserName は読み取り専用です。ユーザー名を変更する他の方法はありません。

この問題を回避する方法はありますか?

編集:新しい問題。行が

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

を実行すると、MembershipCreateUserException が発生し、ユーザー名が既に使用されていると表示されます (実際には使用されていません)。UserSecurity テーブル (UserProfile) にユーザーを追加することはできますが、メンバーシップ テーブルには追加しません。作成した UserMembership テーブルではなく、webpages_Membership テーブルにユーザーを追加しようとしています。

4

1 に答える 1

1

MembershipProvider でユーザー名を編集できない場合があります。SimpleMembership では、ユーザー名が保存されているモデルに UserProfile テーブルを追加する必要があります。

初期化時にテーブルを指定します。

WebSecurity.InitializeDatabaseConnection("DBname", "UserProfileTable", "IdColumn", "UsernameColumn", autoCreateTables: true);
于 2013-03-11T15:34:54.657 に答える