Как использовать встроенную проверку подлинности 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.

  1. Щелкните правой кнопкой мыши свой проект и выберите "Свойства", затем вкладку "Интернет".

  2. Выберите "Использовать локальный веб-сервер IIS" и нажмите кнопку "Создать виртуальный каталог", чтобы Visual Studio настроила для вас сайт в IIS.

  3. Перейдите к оснастке IIS MMC и настройте соответствующие параметры для проверки подлинности Windows.

Теперь, когда вы запускаете ваш проект, он будет использовать IIS вместо Cassini.

Другие вопросы по тегам