MVC "Доступ запрещен" с помощью IIS
Возникли серьезные проблемы с выходом за пределы сообщения "доступ запрещен":
Сообщение об ошибке 401.2: несанкционированный вход в систему не удался из-за конфигурации сервера. Убедитесь, что у вас есть разрешение на просмотр этого каталога или страницы на основе предоставленных учетных данных и методов проверки подлинности, включенных на веб-сервере. Обратитесь за дополнительной помощью к администратору веб-сервера.
Как я сюда попал
Работает под управлением Windows 7, Professional. Система с использованием рекламы для входа в систему (имя: SYSTEMlogin). Создал новое приложение MVC 3 в VS2010 под названием XYZ. Не вносил никаких изменений в код. Установите файлы ссылок для системы.Сеть.mvc и система.Сеть.Помощники для копирования в Local = true.
Что я пытался сделать
- опубликовано XYZ в расположение файловой системы "C:/websites/XYZ".
- добавлено ". abc.xyz.com " в hosts файл с IPA 127.0.0.1.
- создал новый сайт в диспетчере IIS под названием " XYZ " и установил физический путь к пути, где находится приложение опубликовано (C:/websites/XYZ).
- связаны XYZ в АВС.АБВ.в COM:80.
- гарантированный пул приложений для сайта работает под управлением .NET 4.0, интегрирован.
- идентификатор пула приложений, установленный в ApplicationPoolIdentity.
- в физическом расположении опубликованных файлов щелкните правой кнопкой мыши папку и перейдите в свойства - > безопасность и добавьте IUSR в список пользователей, предоставив ему полный контроль.
- в проекте MVC установлен режим аутентификации "нет".
- аутентификация для сайта имеет Анонимный доступ включен, а все остальное отключено.
- я также включил просмотр каталогов для сайта.
После всего этого я сбрасываю веб-сайт, обновляю браузер и сбрасываю IIS. Я все еще получаю это сообщение, когда иду в abc.xyz.com я совершенно не представляю, что я должен проверить дальше.
Что мне нужно
Может ли кто-нибудь помочь мне с этим? Я провел несколько поисков в Google с комбинациями "MVC localhost access denied" и так далее, и я реализовал найденные мною предложения.
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