MVC "Доступ запрещен" с помощью IIS



Возникли серьезные проблемы с выходом за пределы сообщения "доступ запрещен":




Сообщение об ошибке 401.2: несанкционированный вход в систему не удался из-за конфигурации сервера. Убедитесь, что у вас есть разрешение на просмотр этого каталога или страницы на основе предоставленных учетных данных и методов проверки подлинности, включенных на веб-сервере. Обратитесь за дополнительной помощью к администратору веб-сервера.




Как я сюда попал



Работает под управлением Windows 7, Professional. Система с использованием рекламы для входа в систему (имя: SYSTEMlogin). Создал новое приложение MVC 3 в VS2010 под названием XYZ. Не вносил никаких изменений в код. Установите файлы ссылок для системы.Сеть.mvc и система.Сеть.Помощники для копирования в Local = true.



Что я пытался сделать




  1. опубликовано XYZ в расположение файловой системы "C:/websites/XYZ".

  2. добавлено ". abc.xyz.com " в hosts файл с IPA 127.0.0.1.

  3. создал новый сайт в диспетчере IIS под названием " XYZ " и установил физический путь к пути, где находится приложение опубликовано (C:/websites/XYZ).

  4. связаны XYZ в АВС.АБВ.в COM:80.

  5. гарантированный пул приложений для сайта работает под управлением .NET 4.0, интегрирован.

  6. идентификатор пула приложений, установленный в ApplicationPoolIdentity.

  7. в физическом расположении опубликованных файлов щелкните правой кнопкой мыши папку и перейдите в свойства - > безопасность и добавьте IUSR в список пользователей, предоставив ему полный контроль.

  8. в проекте MVC установлен режим аутентификации "нет".

  9. аутентификация для сайта имеет Анонимный доступ включен, а все остальное отключено.

  10. я также включил просмотр каталогов для сайта.


После всего этого я сбрасываю веб-сайт, обновляю браузер и сбрасываю IIS. Я все еще получаю это сообщение, когда иду в abc.xyz.com я совершенно не представляю, что я должен проверить дальше.



Что мне нужно



Может ли кто-нибудь помочь мне с этим? Я провел несколько поисков в Google с комбинациями "MVC localhost access denied" и так далее, и я реализовал найденные мною предложения.
761   5  

5 ответов:

Исправлено

Хорошо. Нашел ответ...по крайней мере к этому приложению. Я изменил аутентификацию с Windows на анонимную. Затем я удалил правило авторизации .NET, которое запрещало анонимный доступ. Эти две вещи позволили получить доступ к приложению без раздражающего всплывающего окна входа IIS, сопровождающего авторизацию Windows.

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

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

Еще одна вещь, которую я не смог прояснить, заключалась в том, что я использую IIS 7.5.

Добавьте это в web.конфигурационный файл.

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
    <!-- rest of config -->
</system.webServer>

Надеюсь, это поможет. :)

Если вы хотите избежать таких вещей, как неправильное копирование файла:

  • в этом случае используйте профили публикации и преобразование:

My dev box:

<authentication mode="None" xdt:Transform="Replace"/>
  <authorization xdt:Transform="Replace">
  </authorization>

Производство:

<authentication mode="Windows" xdt:Transform="Replace"/>
<authorization xdt:Transform="Replace">
  <deny users="?" />

При создании приложения MVC одним из вариантов является создание приложения "интрасеть". Это включит аутентификацию "Windows" по умолчанию внутри Web.config.

При публикации такого проекта в IIS необходимо включить проверку подлинности Windows для приложения в консоли управления IIS. Возможно, Вам также придется отключить анонимную аутентификацию.

Я получаю ошибку, потому что это линии по сети.config

Https://www.asp.net/visual-studio/overview/2013/using-browser-link

<appsettings>
    <add key="vs:EnableBrowserLink" value="false"></add>
</appsettings>
<system.web>
  <compilation debug="false" targetFramework="4.5" />
</system.web>

Comments

    Ничего не найдено.