Как использовать встроенную проверку подлинности Windows при локальной отладке с помощью Visual Studio
Я использую сервисы RESTful WCF для передачи данных клиенту. Приложение, в котором размещаются службы, требует встроенной аутентификации Windows на сервере, что делает тестирование локально в Cassini довольно сложным. Я использую следующую конфигурацию поведения для своей службы, которая прекрасно работает при развертывании в IIS с включенной интегрированной безопасностью.
<webHttpBinding>
<binding name="InstaCheckServiceWebHttpBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" />
</security>
</binding>
</webHttpBinding>
Но при такой конфигурации приложение выдает следующую ошибку при попытке вызвать веб-службы при локальной отладке в Visual Studio.
Для параметров безопасности этой службы требуется проверка подлинности "Windows", но она не включена для приложения IIS, в котором размещается эта служба.
Есть ли способ включить встроенную проверку подлинности Windows при использовании встроенного веб-сервера Visual Studio или какой-либо другой способ решения этой проблемы?
Спасибо!
2 ответа
Подобный вопрос здесь
Версия TLDR: я не думаю, что Cassini идеально подходит для WCF, если вы хотите отладить настройки безопасности
Измените свой проект, чтобы использовать IIS вместо Cassini.
Щелкните правой кнопкой мыши свой проект и выберите "Свойства", затем вкладку "Интернет".
Выберите "Использовать локальный веб-сервер IIS" и нажмите кнопку "Создать виртуальный каталог", чтобы Visual Studio настроила для вас сайт в IIS.
Перейдите к оснастке IIS MMC и настройте соответствующие параметры для проверки подлинности Windows.
Теперь, когда вы запускаете ваш проект, он будет использовать IIS вместо Cassini.