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