Миграция пользователей AspNetSqlMembershipProvider в WebMatrix
Я ищу инструмент для миграции моих пользователей из AspNetSqlMembershipProvider
пользователь к WebMatrix.WebData.WebSecurity
, Я хочу разместить свой сайт в Azure и у меня много проблем с хранимой процедурой AspNet.
Кажется, легко экспортировать данные из одной таблицы в другую, но не с паролем. Как я могу выполнить задачу? Она должна быть прозрачной для моих конечных пользователей.
Спасибо!
1 ответ
Если пароль является единственным препятствием, не волнуйтесь. На самом деле мы не можем и не должны знать сами пароли. В большинстве систем пароли кодируются и сохраняются в таблице. В asp.net mvc4 SimpleMembershipProvider эта таблица называется webpages_membership. В этой таблице 2 столбца являются ключами: Password и PasswordSalt. Я ничего не знаю о AspNetSqlMembershipProvider, но я думаю, что должна быть соответствующая таблица, которая содержит 2 столбца с похожими именами. Миграция данных в этих 2 столбцах должна заставить его работать.
Я предлагаю сделать это следующим образом:
- Создайте новую учетную запись в старой системе с паролем.
- Создайте новую учетную запись в новой системе с другим паролем.
- Замените Password/PasswordSalt в новой системе теми, которые в старой системе.
- Попробуйте войти в новую систему с паролем старой системы.
- Если это удается, это доказывает, что две системы используют один и тот же механизм, и вы можете выполнить всю работу по миграции.
Подробный алгоритм можно найти здесь: http://www.jasypt.org/howtoencryptuserpasswords.html