У меня проблема с включенной службой WCF AJAX.
Служба настроена следующим образом:
<system.serviceModel>
<bindings>
<webHttpBinding>
<binding name="secureWebHttpBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm"></transport>
</security>
</binding>
</webHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="Shared.Services.AjaxServiceAspNetAjaxBehavior">
<enableWebScript/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="Shared.Services.AjaxServiceServiceBehaviour">
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<services>
<service name="Shared.Services.AjaxService" behaviorConfiguration="Shared.Services.AjaxServiceServiceBehaviour">
<endpoint address="" behaviorConfiguration="Shared.Services.AjaxServiceAspNetAjaxBehavior" bindingConfiguration="secureWebHttpBinding" binding="webHttpBinding" contract="Shared.Services.AjaxService">
</endpoint>
</service>
</services>
</system.serviceModel>
Проблема безопасности возникает при развертывании приложения в производственной среде (IIS 7).
Когда я запрашиваюURL-адрес службы ajax "serviceName.svc / js" появляется приглашение для ввода учетных данных Windows.Даже когда я запрашиваю "serviceName.svc", страница описания службы отображается правильно.Может ли быть так, что IIS распознал ... / js как подкаталог, который физически не существует и из-за этого он не знает, какой параметр безопасности следует применить?Я также включил все типы аутентификации для каталога и службы на странице администрирования IIS.Плюс я включил анонимный доступ к этому местоположению через web.config.Все приложение является интранет-приложением и защищено Windows-аутентификацией.
Заранее спасибо