SecureConversationServiceCredential.SecurityStateEncoder Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen einer angepassten SecurityStateEncoder für die Codierung und Decodierung der Cookie-Serialisierung.
public:
property System::ServiceModel::Security::SecurityStateEncoder ^ SecurityStateEncoder { System::ServiceModel::Security::SecurityStateEncoder ^ get(); void set(System::ServiceModel::Security::SecurityStateEncoder ^ value); };
public System.ServiceModel.Security.SecurityStateEncoder SecurityStateEncoder { get; set; }
member this.SecurityStateEncoder : System.ServiceModel.Security.SecurityStateEncoder with get, set
Public Property SecurityStateEncoder As SecurityStateEncoder
Eigenschaftswert
Ein SecurityStateEncoder Objekt, das eine Anpassung von DataProtectionSecurityStateEncoder.
Beispiele
Der folgende Code zeigt, wie diese Eigenschaft festgelegt wird.
static void Configure(ServiceHost serviceHost)
{
/*
* There are certain settings that cannot be configured via app.config.
* The security state encoder is one of them.
* Plug in a SecurityStateEncoder that uses the configured certificate
* to protect the security context token state.
*
* Note: You don't need a security state encoder for cookie mode. This was added to the
* sample to illustrate how you would plug in a custom security state encoder should
* your scenario require one.
* */
serviceHost.Credentials.SecureConversationAuthentication.SecurityStateEncoder =
new CertificateSecurityStateEncoder(serviceHost.Credentials.ServiceCertificate.Certificate);
Hinweise
Im "Cookiemodus" gibt ein Dienst dem Client ein Sicherheitskontexttoken (SECURITY Context Token, SCT) in Form eines Cookies an den Client aus, sodass er keinen Sicherheitsstatus beibehalten muss. Der Client sendet das Cookie in der Anforderungsnachricht zurück, damit der Dienst weiß, wie der Schutz aufgehoben und die Anforderungsnachricht überprüft werden kann. Da das SCT häufig über ein nicht sicheres Netzwerk übertragen wird, muss er geschützt werden.
Standardmäßig verwendet Windows Communication Foundation (WCF) die DataProtectionSecurityStateEncoder-Klasse, um das Cookie mithilfe der Data Protection API (DPAPI) zu schützen. Damit DPAPI in einer Webfarmumgebung funktioniert, müssen alle Back-End-Dienste als dasselbe Domänenbenutzerkonto ausgeführt werden. Anders ausgedrückt: Wenn der Dienst im Web gehostet wird, muss der Internetinformationsdienste (IIS)-Arbeitsprozess so konfiguriert werden, dass er als Domänenbenutzer ausgeführt wird.
Mit dieser Eigenschaft können Sie ein angepasstes SecurityStateEncoder Feature verwenden, um das Cookie zu verschlüsseln und zu entschlüsseln und nicht von DPAPI abhängig zu sein.