Как использовать встроенную проверку подлинности Windows при локальной отладке с помощью Visual Studio - PullRequest
2 голосов
/ 03 декабря 2009

Я использую службы 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 ]

4 голосов
/ 03 декабря 2009

Измените свой проект, чтобы использовать IIS вместо Cassini.

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

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

  3. Перейти к оснастке IIS MMC и настроить соответствующие настройки для Windows Аутентификация.

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

1 голос
/ 04 декабря 2009

Аналогичный вопрос здесь

TLDR версия: я не думаю, что Cassini идеально подходит для WCF, если вы хотите отладить настройки безопасности

...