Поделиться через


SecureConversationServiceCredential.SecurityStateEncoder Свойство

Определение

Возвращает или задает настраиваемый кодировщик SecurityStateEncoder, предназначенный для кодирования и декодирования сериализации куки-файлов.

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

Значение свойства

Объект SecurityStateEncoder, который представляет собой настраиваемую версию объекта DataProtectionSecurityStateEncoder.

Примеры

В следующем примере кода показано, как задать это свойство.

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

Комментарии

В «режиме куки» служба создает для клиента маркер контекста безопасности в виде куки-файла, что освобождает службу от необходимости поддерживать состояние безопасности. Клиент отправляет куки-файл обратно в сообщении запроса, что позволяет службе снять защиту с сообщения запроса и проверить это сообщение. Поскольку маркер контекста безопасности часто передается по незащищенным сетям, его необходимо защитить.

По умолчанию Windows Communication Foundation (WCF) использует DataProtectionSecurityStateEncoder класс для защиты файлов cookie с помощью API защиты данных (DPAPI). Чтобы API защиты данных работал в среде веб-фермы, все серверные службы должны быть запущены из-под одной учетной записи пользователя домена. Другими словами, если служба размещена на веб-сервере, рабочий процесс служб IIS необходимо настроить на запуск от имени пользователя домена.

Это свойство позволяет использовать для шифрования и расшифровки куки-файлов настраиваемый объект SecurityStateEncoder, не зависящий от API защиты данных.

Применяется к