Я работаю над проектом Razor и мне необходимо интегрировать существующую базу данных пользователей в схему БД провайдера SimpleMembership.Это делается путем указания моей существующей пользовательской таблицы и того, какие столбцы должны использоваться API SimpleMembership для имени пользователя и идентификатора пользователя.
WebSecurity.InitializeDatabaseConnection("DB_ConnStr", "User", "UserId", "Username", true);
В процессе, однако, я заполняю таблицу webpages_Membership новой записью для каждой строки пользователя в моей существующей базе данных.Это прошло хорошо, и я написал некоторый код для обработки вставок для каждого существующего пользователя.
Во время вставки я использую фиктивный зашифрованный токен для простоты и задаю пароль, который будет одинаковым для всех.Затем мне нужно запустить другой скрипт над записями, чтобы установить правильный пароль для каждого пользователя в таблице webpages_Membership.Это включает в себя расшифровку текущего пароля из существующей таблицы User, а затем вызов:
WebSecurity.ChangePassword( username, dummyPwd, newPwd)
для каждого пользователя, передавая расшифрованный текущий пароль в качестве параметра 'newPwd'.
Это прекрасно работаетв 99% случаев это называется - более 100 000 записей.Но это примерно в 40 случаях.
Какие причины могут вызвать сбой этого метода?