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 защиты данных.