Za pomocą ASP.NET członkostwo w usłudze WCF

Czy istnieje sposób na użycie tej samej nazwy użytkownika i hasła od dostawcy członkostwa do uwierzytelniania usługi WCF? jeśli tak, to jakie oprawy obsługuje? Muszę wyodrębnić zmienną profilu z użytkownika aktualnie wywołującego usługę. Dzięki za pomoc.

Author: Aidan Ryan, 2010-04-11

1 answers

Zasadniczo każde powiązanie, które akceptuje nazwę użytkownika/hasło jako poświadczenia klienta dla bezpieczeństwa wiadomości, może być skonfigurowane tak, aby ASP.NET dostawca członkostwa.

Sprawdź ten MSDN docs na Jak korzystać z ASP.NET dostawca członkostwa w WCF - musisz skonfigurować Wiązanie dla danych uwierzytelniających klienta typu "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>

Oraz serwisu, z którego można korzystać ASP.NET członkostwo w User authentication:

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

I oczywiście musisz zastosować to zachowanie serwisowe do Twoich usług podczas ich konfigurowania!

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

Typ poświadczenia klienta użytkownika jest obsługiwany przez basicHttpBinding, wsHttpBinding, netTcpBinding - tak prawie wszyscy zwykli podejrzani.

 22
Author: marc_s,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-11 06:02:50