#wcf #wshttpbinding #x509
#wcf #wshttpbinding #x509
Вопрос:
Я в затруднительном положении!
При развертывании на одном из моих действующих серверов я получаю следующую ошибку, которую я не видел при предыдущих установках. Этот сервер находится за аппаратным балансировщиком нагрузки (BigIP) в нашей производственной среде, который, насколько я могу судить, является единственным отличием от предыдущих развертываний.
Не удается запустить олицетворение, поскольку SecurityContext для роли UltimateReceiver из сообщения запроса с ‘http://tempuri.org/ISomeService/GetStuff ‘ действие не сопоставлено с удостоверением Windows.
Мы запускаем Windows Server 2008 R2 (IIS 7.5), WCF 4.0 в пуле приложений классического режима.
Ниже приведены, на мой взгляд, соответствующие фрагменты из моего конфигурационного файла — могут быть некоторые опечатки, когда я изменил имена, чтобы защитить виновных:
<service behaviorConfiguration="SomeServiceBehavior" name="SomeService">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="wsHttpBindingCert" contract="ISomeService" />
</service>
<wsHttpBinding>
<binding name="wsHttpBindingCert">
<security mode="Transport">
<transport clientCredentialType="Certificate" />
</security>
</binding>
</wsHttpBinding>
<behavior name="SomeServiceBehavior">
<serviceMetadata httpsGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="false" />
<serviceCredentials>
<clientCertificate>
<authentication certificateValidationMode="ChainTrust" mapClientCertificateToWindowsAccount="True"/>
</clientCertificate>
<serviceCertificate findValue="somecert.domain.com" x509FindType="FindBySubjectName" storeName="My" storeLocation="LocalMachine" />
</serviceCredentials>
</behavior>
Буду признателен за любую помощь.