IIS express applicationhost.безопасность конфигурации сбрасывается каждый раз, когда решения открываются в VS2012

у меня есть приложение MVC4, разработанное в VS2012, которое использует проверку подлинности форм.

[authentication mode="Forms"]
  [forms loginUrl="~/Account/Login" timeout="2880" /]
[/authentication]

он использует IIS 8.0 Express по умолчанию.

каждый раз, когда я открываю и запускаю приложение из VS, я получил сообщение:

ошибка HTTP 401.2-несанкционированный

вы не имеете права просматривать эту страницу из-за недопустимости заголовков проверки подлинности.

я узнал, что чтобы избежать этого экрана я должен изменить, чтобы 'true' ключи анонимной аутентификации и windowsAuthentication раздела безопасности applicationhost.файл конфигурации в папке [пользовательские документы]IISExpressconfig в:

[system.webServer]
  [security]
    [authentication]
      [anonymousAuthentication enabled="true" /]
      [windowsAuthentication enabled="true" /]
    [/authentication]
  [/security]
[/system.webServer]

но каждый раз, когда я снова открываю решение в VS, ключи сбрасываются на false.

Как я могу сделать так, чтобы навсегда установить true?

Я попытался поместить этот ключ в веб-приложение.конфиг, но затем я получаю сообщение:

ошибка HTTP 500.19 - Внутренняя Ошибка Сервера

запрошенная страница недоступна, так как связанные данные конфигурации для страницы недопустимы.

любая помощь люди?

3 ответов


Если проблема в том, что Visual Studio обновляет два параметра в applicationhost.config при открытии решения, вы можете решить, выбрав проект в обозревателе решений, просмотреть свойства панель (доступна, если вы не находитесь в режиме отладки) и установите значение включено два элемента Анонимная Проверка Подлинности и Проверка Подлинности Windows.

кстати, в моем случае параметр, генерирующий ошибку 401.2, был просто Анонимная Проверка Подлинности, вы можете попытаться оставить значение по умолчанию для проверки подлинности Windows.

(PS, ваш пост решил проблему для 401.2 и действительно спас мой день так много спасибо за это!)


вы можете изменить режимы аутентификации IIS, изменив

  1. свойства iis в \Мои Документы\IISExpress\config\applicationhost.config

  2. свойства проекта в visual studio

второй вариант - ваш ответ.

полный ответ со скриншотами уже на stackoverflow:https://stackoverflow.com/a/7168308/2988788


обычно вы можете использовать свою учетную запись windows с доменом, являющимся вашим именем ПК и учетной записью/паролем windows. Например, pc-name\username также добавляет IISUSR в качестве учетной записи в настройках безопасности.