Назад | Перейти на главную страницу

Как выполнить миграцию базы данных членства SQL с зашифрованными паролями, в которой ключ дешифрования генерируется автоматически?

У меня есть сервер, на котором в файле machine.config указано следующее:

<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="SHA1"/>

Ключ дешифрования не указан, он был создан автоматически. Я перемещаю это на новый сервер. Как перенести ключи расшифровки и проверки, чтобы базу данных можно было использовать на новом сервере?

Я не думаю, что ты сможешь, по крайней мере, если ты не запекся код для чтения значений машинных ключей в вашем приложении.

Я почти уверен, что ключи используются только для генерации идентификаторов сеансов, и перенос приложения на новый сервер с той же базой данных не причинит вреда. Это основано на том факте, что машинные ключи повторно генерируются при перезапуске пула приложений и т. Д., А перезапуски пула приложений не делают ранее сохраненные пароли недействительными (по крайней мере, я надеюсь).

Более подробная информация по этой теме содержится в этом сообщении блога: http://blog.appharbor.com/2012/02/22/asp-net-forms-authentication-considered-broken

Это зависит от того, как было написано приложение ASP.NET. Если использовался встроенный провайдер членства, скорее всего, вам не повезло, потому что провайдер членства каждый раз использует машинный ключ для хеширования паролей, предполагая, что они хешируются, в качестве альтернативы они могут быть просто зашифрованы.

Он также использует машинный ключ для состояния сеанса и кодирования состояния просмотра.

Если у приложения есть собственный провайдер членства, оно может даже не воспользоваться ключом компьютера, и в этом случае вы сможете их восстановить. В любом случае, боюсь, это выглядит не очень хорошо.

Вам действительно следует заставить разработчика вставить специальный ключ компьютера в файл web.config для приложения, вам также придется сделать это, если вы когда-либо планировали перейти на веб-ферму.