Использование MachineKey в ASP.NET

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

  1. Несколько приложений могут использовать один и тот же файл cookie
  2. Несколько серверов могут работать с одним и тем же состоянием просмотра.

person BenMaddox    schedule 15.02.2009    source источник
comment
@Ben нашел этот вопрос при поиске другой информации, добавил недостающую информацию в ответ.   -  person eglasius    schedule 01.04.2009


Ответы (3)


MachineKey используется для:

  • Шифрование и проверка ViewState
  • Проверка подлинности с помощью форм (или федеративная проверка подлинности) использует этот ключ для подписи билета проверки подлинности.

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

Чтобы просмотреть все подробности, обратитесь к: MSDN How To: Configure MachineKey в ASP .NET 2.0

person Sergiu Damian    schedule 15.02.2009

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

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

person eglasius    schedule 01.04.2009

Шифрование - очень распространено.

person vajarov    schedule 15.02.2009
comment
Значения в файлах cookie и состоянии просмотра шифруются на основе MachineKey. Не могли бы вы сказать, что еще шифруется? - person BenMaddox; 15.02.2009
comment
например пароли провайдера членства могут быть зашифрованы с помощью машинного ключа - person mikus; 16.04.2012
comment
@mikus: Это плохая идея. Вместо этого следует использовать хеширование с уникальной солью для каждого пользователя. - person Matti Virkkunen; 09.01.2015
comment
довольно старый материал: D Я не думаю, что имел в виду шифрование паролей пользователей, которые будут храниться в БД, скорее учетные данные, которые будут использоваться системой, сейчас не помню - person mikus; 09.01.2015