Как включить проверку подлинности Windows и веб-службу NetTCPBinding WCF на IIS7? - PullRequest
0 голосов
/ 18 июля 2011

Я пытаюсь настроить веб-службу, которая использует проверку подлинности Windows и NetTCPBinding на IIS 7. В настоящее время я получаю эту ошибку, когда пытаюсь получить доступ к wysdl

"Настройки безопасности для этой службы требуют" Аноним«Аутентификация, но она не включена для приложения IIS, в котором размещена эта служба.»

Соответствующие разделы моего файла конфигурации выглядят следующим образом ...

<behaviors>
    ...
    <serviceBehaviors>
        <behavior name="WCFHostService.MyServiceBehavior">
            <serviceMetadata httpGetEnabled="false" />
            <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
    </serviceBehaviors>
</behaviors>
<services>
    <service name="UPMC.ISD.EADIS.ACO.ACOServiceConcept">
        <endpoint name ="TCP_Binding"
                address=""
                binding="netTcpBinding"
                contract="UPMC.ISD.EADIS.ACO.ACOServiceConcept.IACOService"/>
        <endpoint name="mexHttpbinding"
                contract="IMetadataExchange"
                binding="mexTcpBinding"
                address="mex" />
    </service>
</services>

Как получить"настройки безопасности" для моей службы, чтобы настроить, чтобы я мог получить доступ к этой службе?Я также только что прочитал, что вы можете избавиться от ошибки, избавившись от конечных точек привязки mex или включив анонимную аутентификацию.Но как вы получите свой wsdl, если у вас нет привязки mex?Ну, я думаю, я попробую, но если у вас есть какой-нибудь другой совет, я, безусловно, приму его.

Спасибо.

Ответы [ 2 ]

1 голос
/ 18 июля 2011

Согласно WCF NetTcpBinding Security - как это работает? , настройкой безопасности по умолчанию для NetTCP является Аутентификация Windows. Похоже, одна или две вещи могут быть проблемой:

  1. Убедитесь, что аутентификация Windows включена (в консоли управления IIS в разделе Аутентификация - там же, где вы найдете переключатель для анонимной аутентификации, как в ответе @Joel C.).

  2. Возможно, вы захотите указать учетные данные Windows при создании прокси-сервера клиента, если учетная запись, на которой работает клиент, не может пройти проверку подлинности.

Клиент и сервер в одном домене?

1 голос
/ 18 июля 2011

Подтвердили ли вы, что анонимная аутентификация включена в приложении IIS, где вы размещаете свой сервис?В консоли управления IIS перейдите на сайт и приложение, где размещается ваша служба.Затем убедитесь, что у вас выбрано «Представление функций», и выберите опцию «Аутентификация».Вы должны увидеть различные формы аутентификации (анонимная, Windows, олицетворение ASP.NET и т. Д.), И каждая из них должна сказать, включена или отключена рядом с ней.

...