Можно ли использовать одно и то же имя пользователя и пароль у поставщика членства для аутентификации службы WCF? если да, то какая привязка поддерживает? Мне нужно извлечь переменную профиля от пользователя, вызывающего службу. Спасибо за любую помощь.
Использование аутентификации поставщика ASP.NET для членства в службе WCF
Ответ 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 - так почти все обычные подозреваемые.