Подтвердить что ты не робот

Расположение по умолчанию в конфигурационном файле ASP.NET machineKey

Где найти раздел конфигурации machineKey для ASP.NET?

У меня его нет в приложении Web.config, в корневом каталоге Web.config нет ни одного, и его нет в machine.config.

Означает ли это, что в ASP.NET есть еще один жесткий диск по умолчанию? Если да, какие значения по умолчанию? (для .NET 2 и 4)

Прочитав это: http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

Я ожидал найти что-то вроде этого, где-то:

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

Изменить: документы в формате 1.1 выглядят достаточно ясными по умолчанию: http://msdn.microsoft.com/en-us/library/w8h3skw9(VS.71).aspx, но 4 документа скорее неоднозначный http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

4b9b3361

Ответ 1

machineKey находится под знаком System.web в web.config

Обратитесь ссылка MSDN для схемы web.config.

Если вы не видите его в своем web.config, вы можете просто добавить его там.

От MSDN снова: -)

Чтобы обеспечить защиту от несанкционированного доступа ViewState, из содержимого ViewState генерируется хешированный код аутентификации сообщений (HMAC), а хеш сравнивается с последующими запросами. Атрибут validation указывает, какой алгоритм хеширования следует использовать, и по умолчанию он соответствует SHA1, который использует алгоритм HMACSHA1. Допустимые варианты хеширования включают SHA1 или MD5, хотя SHA1 предпочтительнее, потому что он создает больший хеш и считается криптографически более сильным, чем MD5. Атрибут validationKey используется вместе с контентом ViewState для создания HMAC. Если ваше приложение установлено в веб-ферме, вам необходимо изменить validationKey из AutoGenerate, IsolateApps на определенное вручную значение ключа.

Настройки по умолчанию для элементов <pages> и <machineKey> определены в файле web.config.comments на уровне машины.

Для machineKey они

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

ИЗМЕНИТЬ: Для .NET 4.0 алгоритм по умолчанию был изменен до SHA256 Я думаю, что самый простой способ найти значения по умолчанию - увидеть запись в MSDN для этого значения конфигурации.

MSDN 4.0 для машинного ключа приведен ниже. Выбранные значения являются значениями по умолчанию. Значения в [] - это другие необязательные значения, которые может принимать поле. Я помню, что где-то читал, что это типичный способ в MSDN обозначать значения по умолчанию для значений конфигурации.

<machineKey 
  validationKey="AutoGenerate,IsolateApps" [String]
  decryptionKey="AutoGenerate,IsolateApps" [String]
  validation="HMACSHA256" [SHA1 | MD5 | 3DES | AES | HMACSHA256 | 
    HMACSHA384 | HMACSHA512 | alg:algorithm_name]
  decryption="Auto" [Auto | DES | 3DES | AES | alg:algorithm_name]
/>