WCF защищен с использованием поставщика членства, но получена ошибка сертификата - PullRequest
0 голосов
/ 18 февраля 2011

Я создал собственного провайдера членства и пытаюсь использовать его для защиты своей службы WCF. Но я получаю эту ошибку:

The service certificate is not provided. Specify a service certificate in ServiceCredentials.

Я не хочу использовать сертификат x509. Как я могу заставить это работать?

Вот мой сервисный конфиг:

<?xml version="1.0"?>

<bindings>
  <wsHttpBinding>
    <binding name="wsHttpBinding1" maxBufferPoolSize="2147483647"
      maxReceivedMessageSize="2147483647">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
        maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
      <security mode="Message">
        <message clientCredentialType="UserName"/>
      </security>
    </binding>
  </wsHttpBinding>
</bindings>
<services>
  <service name="UpdateService.UpdateService" behaviorConfiguration="ASPNETProviders">
    <endpoint address="" binding="wsHttpBinding" bindingConfiguration="wsHttpBinding1"
      contract="UpdateService.IUpdateService" />
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="ASPNETProviders">
      <serviceCredentials>
        <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="myUpdateMembershipProvider"/>            
      </serviceCredentials>
    </behavior>
    <behavior>          
      <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
      <serviceMetadata httpGetEnabled="true" />
      <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
  multipleSiteBindingsEnabled="true" />

UPDATE

Это сообщение в блоге, введите описание ссылки здесь , говорит:

[When] you opt in for the UserName client credential type, WCF insists that your service must also reference a service certificate that contains a private key.

Я собираюсь разместить свой сервис в IIS и планирую использовать SSL-сертификат на веб-сайте для шифрования связи. Могу ли я заставить WCF не настаивать на том, чтобы я ссылался на сертификат службы?

Ответы [ 2 ]

1 голос
/ 18 февраля 2011

Похоже, что Microsoft действительно очень хочет, чтобы я использовал сертификат.

Кто-то разработал Очистить привязку имени пользователя для моей ситуации, но я думаю, что могупросто сдайся и используй сертификат.

0 голосов
/ 18 февраля 2011

Вы пытались создать собственный валидатор учетных данных?Смотрите это: http://nayyeri.net/custom-username-and-password-authentication-in-wcf-3-5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...