Aracılığıyla paylaş


SecureConversationServiceCredential.SecurityStateEncoder Özellik

Tanım

Kodlama ve kod çözme tanımlama bilgisi serileştirmesi için özelleştirilmiş SecurityStateEncoder bir alır veya ayarlar.

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

Özellik Değeri

SecurityStateEncoder özelleştirmesi olan bir DataProtectionSecurityStateEncodernesne.

Örnekler

Aşağıdaki kodda bu özelliğin nasıl ayarlanacağı gösterilmektedir.

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);

Açıklamalar

"Tanımlama bilgisi modunda", bir hizmet istemciye tanımlama bilgisi biçiminde bir güvenlik bağlamı belirteci (SCT) verir, böylece herhangi bir güvenlik durumunu korumak zorunda değildir. İstemci, hizmetin istek iletisinin korumasını kaldırmayı ve doğrulamayı bilmesi için tanımlama bilgisini istek iletisine geri gönderir. SCT genellikle güvenli olmayan bir ağ üzerinden iletildiğinden korunması gerekir.

Varsayılan olarak, Windows Communication Foundation (WCF), Veri Koruma API'sini DataProtectionSecurityStateEncoder (DPAPI) kullanarak tanımlama bilgisini korumak için sınıfını kullanır. DPAPI'nin bir Web grubu ortamında çalışması için tüm arka uç hizmetlerinin aynı etki alanı kullanıcı hesabı olarak çalışması gerekir. Başka bir deyişle, hizmet Web'de barındırılıyorsa, Internet Information Services (IIS) çalışan işleminin etki alanı kullanıcısı olarak çalışacak şekilde yapılandırılması gerekir.

Bu özellik, DPAPI'ye bağımlı değil, tanımlama bilgisini şifrelemek ve şifresini çözmek için özelleştirilmiş SecurityStateEncoder bir kullanmanıza olanak tanır.

Şunlara uygulanır