Подтвердить что ты не робот

Использование аутентификации поставщика ASP.NET для членства в службе WCF

Можно ли использовать одно и то же имя пользователя и пароль у поставщика членства для аутентификации службы WCF? если да, то какая привязка поддерживает? Мне нужно извлечь переменную профиля от пользователя, вызывающего службу. Спасибо за любую помощь.

4b9b3361

Ответ 1

В принципе, любая привязка, которая принимает имя пользователя/пароль в качестве учетных данных клиента для безопасности сообщений, может быть настроена на использование поставщика членства ASP.NET.

Ознакомьтесь с документами MSDN на как использовать поставщик членства ASP.NET в WCF - вам нужно настроить привязку для учетных данных клиента введите "UserName"

<bindings>
  <wsHttpBinding>
  <!-- Set up a binding that uses UserName as the client credential type -->
    <binding name="MembershipBinding">
      <security mode ="Message">
        <message clientCredentialType ="UserName"/>
      </security>
    </binding>
  </wsHttpBinding>
</bindings>

и служба для использования членства ASP.NET для аутентификации пользователя:

<serviceBehaviors>
  <behavior name="AspNetMembership">
     <serviceCredentials>
        <userNameAuthentication 
             userNamePasswordValidationMode ="MembershipProvider" 
             membershipProviderName ="SqlMembershipProvider"/>
     </serviceCredentials>
  </behavior>
</serviceBehaviors>

и, конечно же, вы должны применить это поведение службы к своим службам при их настройке!

<services>
   <service name="YourService" behaviorConfiguration="AspNetMembership">
   ....
   </service>
</services>

Тип учетных данных клиента UserName поддерживается basicHttpBinding, wsHttpBinding, netTcpBinding - так почти все обычные подозреваемые.