FaultContractAttribute.ProtectionLevel Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje stupeň ochrany, který chyba SOAP vyžaduje od vazby.
public:
property System::Net::Security::ProtectionLevel ProtectionLevel { System::Net::Security::ProtectionLevel get(); void set(System::Net::Security::ProtectionLevel value); };
public System.Net.Security.ProtectionLevel ProtectionLevel { get; set; }
member this.ProtectionLevel : System.Net.Security.ProtectionLevel with get, set
Public Property ProtectionLevel As ProtectionLevel
Hodnota vlastnosti
Jedna z ProtectionLevel hodnot. Výchozí hodnota je None.
Poznámky
FaultDescription.ProtectionLevel Pomocí vlastnosti určete stupeň, do kterého musí vazba při odesílání chyby SOAP šifrovat, podepsat nebo obojí. Důrazně doporučujeme, aby chyba operace explicitně rozhodla o požadavcích na úroveň ochrany zabezpečení smlouvy. Výchozí úroveň ochrany je ProtectionLevel.None, což znamená, že zpráva chyby SOAP, kterou definujete, nevyžaduje šifrování ani digitální podpis (i když vaše vazba může poskytnout tuto podporu, pokud je nakonfigurovaná tak). Pokud chybová zpráva obsahuje citlivé informace nebo může vést k problémům se zabezpečením, důrazně doporučujeme ProtectionLevel nastavit ProtectionLevel.EncryptAndSignvlastnost . Další informace oproblémechch
Chování ochrany za běhu je kombinace vlastností na úrovni ochrany, které mají hierarchickou strukturu. Nastavení vnější hodnoty vytvoří výchozí nastavení pro všechny užší obory, pokud není explicitně nastavena jiná hodnota pro užší obor. V tomto případě zůstává vnější hodnota výchozím nastavením pro všechny užší obory s výjimkou této sady.
Pokud ServiceContractAttribute.ProtectionLevel je například nastavená hodnota ProtectionLevel.EncryptAndSign a žádné další užší obory nemají nastavení úrovně ochrany, všechny zprávy v kontraktu operace jsou šifrované a podepsané, včetně chybových zpráv. Pokud je však jedna z těchto operací nastavena OperationContractAttribute na ProtectionLevel.Sign, zprávy pro danou operaci jsou podepsány, ale všechny ostatní zprávy v kontraktu jsou šifrované a podepsané, včetně chybových zpráv.
Obory, na kterých jsou tyto hodnoty nastaveny:
ServiceContractAttribute.ProtectionLevel
OperationContractAttribute.ProtectionLevel
FaultContractAttribute.ProtectionLevel
MessageContractAttribute.ProtectionLevel
Vlastnost MessageContractMemberAttribute.ProtectionLevel na System.ServiceModel.MessageHeaderAttribute.
Vlastnost MessageContractMemberAttribute.ProtectionLevel na System.ServiceModel.MessageBodyMemberAttribute.
Pokud není u smlouvy explicitně zadána žádná úroveň ochrany a podkladová vazba podporuje zabezpečení (ať už na úrovni přenosu nebo zprávy), je ProtectionLevel.EncryptAndSignúčinná úroveň ochrany pro celou smlouvu . Pokud vazba nepodporuje zabezpečení (například BasicHttpBinding), platí System.Net.Security.ProtectionLevelProtectionLevel.None pro celou smlouvu. Výsledkem je to, že klienti mohou v závislosti na vazbě koncového bodu vyžadovat jinou ochranu zabezpečení na úrovni zprávy nebo přenosu, i když smlouva určuje ProtectionLevel.None.