Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a minta bemutatja, hogyan konfigurálhat egy kötést WSHttpBinding az üzenetszintű biztonság Windows-hitelesítéssel való használatára. Ez a minta az első lépéseken alapul. Ebben a mintában a szolgáltatás az Internet Information Servicesben (IIS) található, az ügyfél pedig egy konzolalkalmazás (.exe).
Megjegyzés:
A minta telepítési eljárása és összeállítási utasításai a témakör végén találhatók.
A wsHttpBinding< alapértelmezett biztonsága a> Windows-hitelesítést használó üzenetbiztonság. A mintában szereplő konfigurációs fájlok kifejezetten a modebiztonság< attribútumát> és az Message attribútumot a következőre clientCredentialTypeállítják be: .Windows Ezek az értékek a kötés alapértelmezett értékei, de explicit módon lettek konfigurálva, ahogyan az alábbi mintakonfigurációban látható, a használatuk bemutatásához.
<bindings>
<wsHttpBinding>
<binding>
<security mode="Message">
<message clientCredentialType="Windows"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
Az ügyfélvégpont konfigurációja a szolgáltatásvégpont, a kötés és a szerződés abszolút címéből áll. A klienskapcsolat megfelelő securityMode és authenticationMode konfigurációval van ellátva.
<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>
A szolgáltatás forráskódját módosítottuk, hogy bemutassuk, hogyan használható a ServiceSecurityContext hívó identitásának eléréséhez.
public string GetCallerIdentity()
{
// The Windows identity of the caller can be accessed on the ServiceSecurityContext.WindowsIdentity.
return OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name;
}
A minta futtatásakor a műveleti kérelmek és a válaszok megjelennek az ügyfélkonzol ablakában. Az első metódus neve - GetCallerIdentity - visszaadja a hívó identitás nevét az ügyfélnek. Az ügyfél leállításához nyomja le az ENTER billentyűt a konzolablakban.
A példa beállítása, elkészítése és futtatása
Győződjön meg arról, hogy elvégezte a Windows Communication Foundation-minták One-Time beállítási eljárását.
A megoldás C# vagy Visual Basic .NET kiadásának létrehozásához kövesse Windows Communication Foundation-mintákcímű témakör utasításait.
Ha a mintát egy- vagy számítógépközi konfigurációban szeretné futtatni, kövesse a Windows Communication Foundation-minták futtatásával kapcsolatos utasításokat.