Справка. Как включить проверку подлинности Windows на сервере разработки ASP.NET?

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

Мы пытаемся разместить службу WCF через Интернет. Мы установили для web.config, что для службы требуется проверка подлинности Windows. Проблема, которую мы имеем, заключается в следующем:

Когда мы размещаем нашу службу в обычном IIS, служба работает нормально, и нет проблем с режимом "Аутентификация Windows". Однако, когда мы пытаемся запустить его из наших ящиков разработчиков, мы получаем следующую ошибку: "Параметры безопасности для этой службы требуют проверки подлинности Windows, но она не включена для приложения IIS, на котором размещена эта служба".

В наших блоках разработчиков не размещается сервис через обычный IIS, а через Visual Studio APS.NET Development Server. Мы попытались войти в свойства веб-проекта и сказали, чтобы включить аутентификацию NTLM, но это еще не исправило. Кто-нибудь знает, как это исправить? Поддерживает ли VS ASP.NET Development Server поддержку Windows Authentication? Единственный вариант для размещения службы с Windows Authentication - использовать IIS и забыть об ASP.NET Development Server?

Спасибо Chuck

Ответ 1

Чтобы настроить параметры безопасности IIS Express:

  • найдите символ IIS express на панели задач (системный лоток).
  • Щелкните правой кнопкой мыши и выберите "Все приложения".
  • Нажмите на название сайта, которое вы хотите изменить (хотя я считаю, что изменение на сайте)
  • Нажмите на путь в разделе конфигурации ниже (он откроет файл applicationhost.config)
  • Найдите раздел аутентификации и внесите изменения.

Примеры изменений можно найти здесь:

http://toadcode.blogspot.ca/2011/08/security-config-in-iis-express.html

Ответ 2

ASP.Net Development Server очень ограничен. Он обслуживает запросы, исходящие от того же самого компьютера, на котором он запущен, и он не будет обслуживать файлы, находящиеся за пределами области приложения. Он основан на сервере Cassini. Cassini не поддерживает веб-службы WCF. Документация для ASP.Net Development Server говорит, что она поддерживает NTLM. Если вы просто просматриваете страницу с локального компьютера, она должна работать нормально, если страница не ссылается на недоступный ресурс.

просмотрите http://msdn.microsoft.com/en-us/library/58wxa9w5.aspx для получения дополнительной информации.

Ответ 3

Я бы установил и настроил IIS на вашем локальном компьютере-разработчике и использовал это, предпочитая использовать встроенный веб-сервер. Чтобы использовать локальный IIS для отладки, выберите "Пользовательский локальный веб-сервер IIS" на веб-вкладке свойств проекта. Использование IIS, а не встроенного веб-сервера также означает, что вы можете настроить приложение точно так же, как оно будет настроено на производственном сервере, и это уменьшит отсутствие потенциальных сюрпризов при переходе в производственную среду.

Ответ 4

Решение моей проблемы с авторизацией заключалось в том, чтобы перейти к свойствам проекта F4 и установить следующее:

Anonymous Authentication: Disabled

Windows Authentication: Enabled

По-видимому, эти свойства непосредственно обновляют IIS applicationHost.config.

http://provenstyle.com/blog/2015/10/02/Visual-Studio-2015-Windows-Authentication-And-IIS-Express/