Контекст безопасности
Контексты безопасности позволяют создать контекст безопасности сообщений в соответствии с WS-SecureConversation. Затем этот контекст можно использовать для защиты сообщений в качестве альтернативы одноразовой безопасности, где учетные данные передаются для каждого запроса. Установленный контекст безопасности является более эффективным методом защиты сообщений при обмене несколькими сообщениями.
Контексты безопасности требуют наличия учетных данных безопасности начальной загрузки, которые используются для защиты сообщений, отправленных в контексте. Для этой цели могут использоваться WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING, WS_XML_TOKEN_MESSAGE_SECURITY_BINDINGи WS_USERNAME_MESSAGE_SECURITY_BINDING структуры.
Контексты безопасности — это функция безопасности сообщений и настраиваются с помощью привязок безопасности сообщений.
Клиент
На стороне клиента контекст безопасности привязан к конкретному каналу. Он настроен с помощью WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING. Поведение и время существования контекста определяются каналом. При отправке первого сообщения на канале устанавливается контекст безопасности. После этого контекст будет упреждаемо обновляться через настраиваемый интервал. Если сервер возвращает ошибку, указывающую, что контекст требует продления, контекст обновляется при отправке следующего сообщения. Если канал находится в открытом состоянии, контекст отменяется сообщением отмены при закрытии канала.
Сервер
На сервере контекст безопасности настраивается так же, как и на клиенте. Однако он не привязан к определенному каналу. Вместо этого все каналы, созданные для прослушивателя с набором WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING, могут получать сообщения с любым из контекстов безопасности, установленных на каналах этого прослушивателя.
При поступлении сообщения на канал, поддерживающий контексты безопасности, контекст, используемый этим сообщением, можно получить путем вызова функции WsGetMessageProper ty с WS_MESSAGE_PROPERTY_SECURITY_CONTEXT. Полученное значение можно использовать с WsRevokeSecurityContext и WsGetSecurityContextProperty.
Метаданные
Структура WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_CONSTRAINT используется для извлечения политики контекста безопасности из метаданных. Дополнительные сведения см. в разделе Импорт метаданных.
Следующие элементы API используются с контекстами безопасности.
Перечисление | Описание |
---|---|
WS_SECURITY_CONTEXT_PROPERTY_ID | Определяет свойство объекта контекста безопасности. |
Функция | Описание |
---|---|
WsGetSecurityContextProperty | Возвращает свойство указанного контекста безопасности. |
WsRevokeSecurityContext | Отменяет контекст безопасности. |
Ручка | Описание |
---|---|
WS_SECURITY_CONTEXT | Непрозрачный тип, используемый для ссылки на объект контекста безопасности. |
Структура | Описание |
---|---|
WS_SECURITY_CONTEXT_PROPERTY | Определяет свойство WS_SECURITY_CONTEXT. |