Две конечные точки для одной и той же службы в WCF, одна защищенная, одна нет

У меня есть служба .Net, работающая на IIS 6 и WCF, для которой я хочу создать две конечные точки. Одна защищена с помощью HTTPS и базовой проверки подлинности, доступ к которой будет осуществляться из нашей DMZ, и одна конечная точка без защиты, которая будет доступна только из внутренней защищенной сети. Брандмауэр и, возможно, фильтры .Net гарантируют, что незащищенная служба недоступна за пределами защищенной сети.

Пока мне не удалось заставить две конечные точки, работающие с разными параметрами безопасности. Одна конфигурация, которую я пробовал:

<service name="My.Service">
    <host>
        <baseAddresses>
            <add baseAddress="http://localhost/MyService/"/>
        </baseAddresses>
    </host>
    <endpoint address="UnSecuredAccessToMyService.svc" 
              behaviorConfiguration="restBehavior" 
              name="UnSecureEndpoint" 
              binding="webHttpBinding"
              bindingName="SomeBindingName" 
              bindingNamespace="http://mydomain/myservice" 
              contract="Domain.MyService.MyClass" />
    <endpoint address="SecuredAccessToMyService.svc"
              behaviorConfiguration="secBehavior"
              name="SecuredEnpoint"
              binding="webHttpBinding"
              bindingConfiguration="customSecureBinding"
              bindingName="SecBindingName"
              bindingNamespace="http://mydomain/myservice"
              contract="Domain.MyService.MyClass" />
</service>

<behaviors>
    <endpointBehaviors>
        <behavior name="restBehavior">
            <webHttp />
        </behavior>
        <behavior name="secBehavior">
        </behavior>
    </endpointBehaviors>
</behaviors>

<bindings>
    <webHttpBinding>
        <binding name="customSecureBinding">
            <security mode="Transport">
                <transport clientCredentialType="Basic"/>
            </security>
        </binding>
    </webHttpBinding>
</bindings>

Файлы UnSecuredAccessToMyService.svc и SecuredAccessToMyService.svc выглядят так:

<%@ ServiceHost
    Factory="somefactory, anotherfactory"
    Service="My.Service, AnotherService"
%>

Я новичок в WCF и .Net, поэтому дополнительные сведения могут действительно помочь, Спасибо!

9
задан nash 17 November 2010 в 16:07
поделиться