Диалог аутентификации при работе с веб-сервером Visual Studio - PullRequest
2 голосов
/ 30 января 2009

При использовании встроенного веб-сервера Visual Studio каждый раз, когда я делаю запрос страницы, появляется стандартное окно входа и запрашивает учетные данные. Это не сработает, если я на самом деле ввожу свои учетные данные, поэтому мне просто нужно нажать 5 раз, чтобы отменить.

Когда я запускаю приложение через IIS (локально или на тестовом сервере), оно работает просто отлично (окно входа не появляется).

Кто-нибудь знает, как это исправить, или есть идеи, что может быть причиной этого?

Ответы [ 4 ]

1 голос
/ 31 марта 2013

У меня была такая же проблема. Однако мое решение было другим, и проблема казалась другой.

Я работал над веб-приложением ASP.NET 2.0, используя VS 2008. Все работало нормально со встроенным сервером IIS. Я не открывал этот проект около недели, а затем, когда я выбрал «Просмотр в браузере» в VS, мне было предложено для моих кредитов входа в Windows. Этот проект никогда не делал этого раньше, поэтому я был немного озадачен. Я проверил все настройки web.config, и все казалось нормально. Настройки моего проекта тоже показались правильными. Я решил протестировать проект, открыв этот же проект в VS в отдельном окне разработчика в моей сети, используя сетевой путь. Я снова выбрал «Просмотр в браузере», и он работал нормально. Нет входа в систему.

Это говорит мне, что проблема не в самом веб-проекте, а в моей среде разработки. Я проверил все настройки браузера, как указано выше, и они были правильными. Затем я сравнил настройки своего проекта, в то время как один и тот же проект (одни и те же физические файлы) были открыты в обоих блоках разработчика. Я заметил разницу ...

В параметре запуска на страницах свойств веб-сервер был настроен на использование веб-сервера по умолчанию в обоих случаях. Однако на коробке, которая запрашивала мои кредиты, был установлен флажок Аутентификация NTLM. Я снял этот флажок, и он решил проблему.

Я не уверен, как это было возможно, поскольку я открывал одни и те же файлы проекта и предполагал, что настройки проекта будут точно такими же. И тот факт, что она работала нормально неделю назад, очень озадачил меня. Я списал это на проблему с VS 2008 на коробке с проблемой. Я надеюсь, что это поможет всем, кто может столкнуться с этой проблемой.

1 голос
/ 30 января 2009

Полагаю, вы имеете в виду диалоговое окно входа в систему с предупреждением JavaScript, верно? Это диалоговое окно появляется, когда вы делаете запрос к части сайта, где анонимный доступ отключен из IIS. Он отличается от аутентификации ASP.NET.

Защищена ли какая-то часть вашего сайта? Или вы делаете HTTP-запрос на внешние сайты, такие как изображения и т. Д.

Если ваша страница выглядит хорошо после многократного нажатия кнопки отмены, это должен быть один из этих HTTP-запросов к защищенному файлу, например изображения, css, js или любой другой.

Я бы посмотрел в Fiddler или Firebug, чтобы увидеть, если какой-либо запрос не будет выполнен, когда вы нажмете кнопку отмены в этом диалоге входа в систему.

Я бы также попытался очистить сеанс кэширования / аутентификации на странице, которая работает в IIS, чтобы увидеть, действительно ли он отображает этот диалог входа в систему.

0 голосов
/ 23 сентября 2016

В вашем проекте должен быть файл vwd.webinfo .

Следующие строки управляют аутентификацией при отладке (в IISExpress). Установите следующим образом, чтобы избежать всех диалогов.

<VisualWebDeveloper>
<iisExpressSettings anonymousAuthentication="enabled" windowsAuthentication="disabled" useClassicPipelineMode="false"/>
</VisualWebDeveloper>

Если windowsAuthentication="enabled", вы все равно можете получить диалог, даже если anonymousAuthentication="enabled": -)

0 голосов
/ 19 мая 2009

Это потому, что localhost не было в моих доверенных сайтах, поэтому он не будет выполнять автоматическую проверку подлинности NTLM ... Я не уверен, почему это так, но было ... добавление localhost в список исправило это.

...