如何使用mvc4和simplemembership更改用户名

时间:2013-03-11 15:25:43

标签: c# asp.net asp.net-mvc-4 simplemembership

为什么您无法更改简单的会员用户名。我试过了

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),但不将其添加到成员资格表。 它试图在webpages_Membership表中添加用户,而不是我创建的UserMembership表。

1 个答案:

答案 0 :(得分:1)

您可能无法使用MembershipProvider编辑用户名。 在SimpleMembership中,您必须将UserProfile表添加到模型中,用户名存储在该模型中。

您在初始化时指定表格:

WebSecurity.InitializeDatabaseConnection("DBname", "UserProfileTable", "IdColumn", "UsernameColumn", autoCreateTables: true);