IIS Express дает сообщение об ошибке "Отказано в доступе" при отладке ASP.NET MVC
Я создал проект ASP.NET MVC 3 и использую IIS Express в качестве веб-сервера при разработке. Когда я пытаюсь отлаживать, я получаю сообщение об ошибке ниже.
Как это можно решить?
Ошибка сервера в приложении "/".
Доступ запрещен. Описание: Произошла ошибка при доступе к ресурсам, необходимым для обслуживания этого запроса. Возможно, сервер не настроен для доступа к запрошенному URL.
Сообщение об ошибке 401.2.: Неавторизованный. Ошибка входа в систему из-за конфигурации сервера. Убедитесь, что у вас есть разрешение на просмотр этого каталога или страницы на основе предоставленных вами учетных данных и методов проверки подлинности, включенных на веб-сервере. Обратитесь к администратору веб-сервера за дополнительной помощью.
Ответы
Ответ 1
Причина, если для этой проблемы был IIS Express, не разрешающий WindowsAuthentication. Это можно активировать, установив
<windowsAuthentication enabled="true">
в файле applicationhost.config, расположенном в папке C:\Users [имя_пользователя]\Documents\IISExpress\config.
Ответ 2
Если вы используете Visual Studio, вы также можете щелкнуть левой кнопкой мыши по проекту в Обозреватель решений и изменить свойство Windows Authentication на Включено в окне Свойства.
Ответ 3
Я использовал ответ Джейсона, но хотел уточнить, как войти в свойства.
- Выберите проект в обозревателе решений
![введите описание изображения здесь]()
- F4, чтобы перейти к свойствам (отличным от правого щелчка
Свойства)
- Изменить аутентификацию Windows на Включено
![введите описание изображения здесь]()
Ответ 4
Хостинг на IIS Express:
1. Выберите проект в обозревателе решений, чтобы выбрать проект.
2. Если панель "Свойства" не открыта, откройте ее (F4).
3. На панели "Свойства" для вашего проекта: a) Установите "Анонимная аутентификация" на "Отключено". b) Установите "Аутентификация Windows" на "Включено".
Ответ 5
В моем случае мне пришлось открыть файл:
C:\...\Documents\IISExpress\config\applicationhost.config
У меня было это внутри файла:
<authentication>
<anonymousAuthentication enabled="true" User="" />
Я просто удалил часть User=""
. Я действительно не знаю, как это произошло...:)
Примечание. Убедитесь, что у вас есть что-то подобное в конце applicationhost.config
:
.
.
.
<location path="MyCompany.MyProjectName.Web">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<windowsAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
</location>
</configuration>
Вы также можете посмотреть здесь: fooobar.com/questions/65497/...
Теперь я могу получить доступ к странице входа в систему, как ожидалось.
Ответ 6
В моем случае предыдущий запуск моего приложения из VS зарезервировал URL-адрес. Я мог видеть это, запустив консоль:
netsh http show urlacl
чтобы удалить это резервирование, я запустил это в консоли с повышенной:
netsh http delete urlacl http://127.0.0.1:10002/
Я нашел эти шаги здесь, решил мою проблему.
Я использую VS2013
Ответ 7
Мне пришлось запустить Visual Studio в Administrative Mode
, чтобы избавиться от этой ошибки.
Ответ 8
У меня была та же проблема, и я, наконец, смог ее преодолеть.
Solution Explorer
→ Right click on project
→ Properties
→ Web tab
→ Project Url
Я выбрал другой номер порта, и все стало прекрасно!
Ответ 9
Я открыл файл web.config и нашел и удалил этот раздел:
<authorization>
<deny users="?" />
</authorization>
и мой сайт появился, но есть ошибки с аутентификацией.
Ответ 10
Я только что исправил эту точную проблему в IIS EXPRESS, исправил ее, отредактировав хост приложения .config в разделе местоположения, посвященном ниже. Я установил проверку подлинности Windows в Visual Studio 2012, но когда я вошел в XML, это выглядело так.
тег auth для Windows должен быть добавлен ниже, как показано.
<windowsAuthentication enabled="true" />
<location path="MyApplicationbeingDebugged">
``<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<!-- INSERT TAG HERE -->
</authentication>
</security>
</system.webServer>
</location>
Ответ 11
Я боролся с этой проблемой, пытаясь создать простую программу для SharePoint с помощью Host Hosted.
Пройдя через applicationhost.config, в разделе basicAuthentication было установлено значение false. Я изменил его на истину, чтобы преодолеть 401,2 в моем сценарии. Существует множество других ссылок о том, как найти applicationhost.config для IIS Express.
Ответ 12
Никто из вышеперечисленных не работал у меня. Это работало для меня до сегодняшнего дня. Затем я понял, что работаю над созданием размещенного подключения на своем ноутбуке и использовал подключение к Интернету с беспроводным сетевым подключением.
Чтобы исправить мою проблему:
Перейдите в Панель управления > Сеть и Интернет > Сетевые подключения
Щелкните правой кнопкой мыши на любом дополнительном беспроводном сетевом соединении, которое у вас может быть (мое имя было названо Wireless Network Connection 2) и нажмите "Свойства".
Перейдите на вкладку "Общий доступ" вверху.
Снимите флажок, в котором говорится: "Разрешить другим пользователям сети подключаться через интернет-подключение к компьютеру".
Нажмите "ОК" > "Применить".
Надеюсь, это поможет!
Ответ 13
Я не видел этого "полного" ответа в любом месте; Я только что видел сообщение об изменении номеров портов после того, как я разместил его, поэтому meh.
Убедитесь, что в свойствах проекта в визуальной студии URL проекта не назначен на тот же URL-адрес или порт, который используется в IIS для любых привязок сайтов.
Я искал "почему" для этого, но мое предположение с моей точки зрения заключается в том, что как IIS, так и Visual Studio IIS выражают использование одного и того же каталога при создании виртуальных каталогов, а Visual Studio может создавать только новые виртуальные каталоги и не может изменять какой-либо IIS, созданный при применении привязок к сайту.
не стесняйтесь исправить меня по причине.
Ответ 14
Наша страница с ошибкой находилась за страницей входа, но на странице входа произошла ошибка в одном из элементов управления, что создает бесконечный цикл.
Мы удалили все элементы управления со страницы-нарушителя и добавили их обратно один за другим, пока не установится и не будет исправлено правильное управление.