MembershipCreateUserException: имя пользователя уже используется
Я сам создал простые таблицы членства, чтобы у меня была возможность обновлять поле имени пользователя (это невозможно сделать, если вы просто позволили ему создать его автоматически).
var confirmationToken = WebSecurity.CreateUserAndAccount(model.UserName, Request["Password"], new { NameFirst = model.NameFirst, NameLast = model.NameLast, ContactId = newContact.ContactId },true);
Когда я запускаю эту строку кода, я получаю сообщение об ошибке, что имя пользователя уже существует. Что странно, так это то, что в таблице нет имени пользователя с таким же именем, и он делает это для каждой регистрации. Вероятно, это связано с тем, что я сам создавал таблицы, но я не вижу, в чем проблема.
Он добавляет его в мою таблицу UserProfile (она называется UserSecurity), но не включает пользователя в таблицу членства.
Изменить: строка выше использует таблицу webpages_Membership. Мне нужно, чтобы вместо этого использовать мою таблицу UserMembership.
1 ответ
Изменить: строка выше использует таблицу webpages_Membership. Мне нужно, чтобы вместо этого использовать мою таблицу UserMembership.
Если вы хотите, чтобы поставщик простого членства использовал таблицу, отличную от таблицы по умолчанию, вам нужно изменить таблицу, которая WebSecurity.InitializeDatabaseConnection
указывает на.
В обозревателе решений перейдите в Фильтры -> InitializeSimpleMembershipAttribute.cs
и используйте это вместо:
WebSecurity.InitializeDatabaseConnection("MyContext", "TableToPointTo",
"UserIdColumn", "UserNameColumn", autoCreateTables: true);