Используя Поставщика Членства ASP.NET authentincation в сервисе WCF

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

17
задан Aidan Ryan 6 May 2011 в 20:47
поделиться

1 ответ

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

Ознакомьтесь с документами MSDN о том, как использовать ASP.NET Membership provider в 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 Membership для аутентификации пользователей:

<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 - то есть практически всеми обычными подозреваемыми.

22
ответ дан 30 November 2019 в 13:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: