Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Det här exemplet visar hur du konfigurerar en WSHttpBinding bindning för att använda säkerhet på meddelandenivå med Windows-autentisering. Det här exemplet baseras på Komma igång. I det här exemplet finns tjänsten i Internet Information Services (IIS) och klienten är ett konsolprogram (.exe).
Anmärkning
Installationsproceduren och bygginstruktionerna för det här exemplet finns i slutet av det här avsnittet.
Standardsäkerheten för <wsHttpBinding> är meddelandesäkerhet med Windows-autentisering. Konfigurationsfilerna i det här exemplet anger uttryckligen modeattributet< för säkerheten> till Message och clientCredentialType attributet till Windows. Dessa värden är standardvärdena för den här bindningen, men de har konfigurerats uttryckligen, vilket visas i följande exempelkonfiguration för att demonstrera deras användning.
<bindings>
<wsHttpBinding>
<binding>
<security mode="Message">
<message clientCredentialType="Windows"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
Klientslutpunktskonfigurationen består av en absolut adress för tjänstslutpunkten, bindningen och kontraktet. Klientbindningen konfigureras med lämplig securityMode och authenticationMode.
<system.serviceModel>
<client>
<endpoint address=
"http://localhost/servicemodelsamples/service.svc"
binding="wsHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</client>
<bindings>
<wsHttpBinding>
<!-- The default security for the WSHttpBinding is -->
<!-- Message security using Windows authentication. -->
<!-- This configuration explicitly defines the security mode -->
<!-- as Message and the clientCredentialType as Windows -->
<!-- for demonstration purposes. -->
<binding name="Binding1">
<security mode="Message">
<message clientCredentialType="Windows"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
Tjänstens källkod har ändrats för att visa hur ServiceSecurityContext den kan användas för att komma åt anroparens identitet.
public string GetCallerIdentity()
{
// The Windows identity of the caller can be accessed on the ServiceSecurityContext.WindowsIdentity.
return OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name;
}
När du kör exemplet visas åtgärdsbegäranden och svar i klientkonsolfönstret. Den första metoden som heter - GetCallerIdentity - returnerar namnet på anroparidentiteten tillbaka till klienten. Tryck på RETUR i konsolfönstret för att stänga av klienten.
Så här konfigurerar du, skapar och kör exemplet
Kontrollera att du har utfört One-Time installationsproceduren för Windows Communication Foundation-exempel.
Om du vill skapa C# eller Visual Basic .NET-versionen av lösningen följer du anvisningarna i Skapa Windows Communication Foundation-exempel.
Om du vill köra exemplet i en konfiguration med en eller flera datorer följer du anvisningarna i Köra Windows Communication Foundation-exempel.