为什么您无法更改简单的会员用户名。我试过了
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表。
答案 0 :(得分:1)
您可能无法使用MembershipProvider编辑用户名。 在SimpleMembership中,您必须将UserProfile表添加到模型中,用户名存储在该模型中。
您在初始化时指定表格:
WebSecurity.InitializeDatabaseConnection("DBname", "UserProfileTable", "IdColumn", "UsernameColumn", autoCreateTables: true);