Практическое руководство. Защита сообщений с помощью надежных сеансов
В этом разделе описывается обеспечение безопасности на уровне сообщения в ходе надежного сеанса обмена сообщениями с использованием одной из предоставляемых системой привязок, которые поддерживают такие сеансы, но не по умолчанию. Включите безопасный, надежный сеанс либо императивно с помощью кода, либо декларативно в файле конфигурации. В этой процедуре для разрешения защищенного, надежного сеанса используются файлы конфигурации клиента и службы.
Эта процедура включает выполнение трех основных задач, а именно:
необходимо задать, что клиент и служба обмениваются сообщениями в ходе надежного сеанса;
необходимо обеспечить безопасность на уровне сообщения в ходе надежного сеанса;
необходимо задать тип учетных данных клиента, который должен использоваться при проверке подлинности клиента в службе.
В первой задаче важно, чтобы элемент конфигурации конечной точки содержал bindingConfiguration
атрибут, ссылающийся на конфигурацию привязки (в этом примере). MessageSecurity
Затем <элемент конфигурации привязки> ссылается на это имя, чтобы включить надежные сеансы, задав enabled
для атрибута <элемента ReliableSession> значение.true
Можно потребовать гарантии упорядоченной доставки сообщений в ходе надежного сеанса, присвоив атрибуту ordered
значение true
.
Исходная копия примера, на котором основана эта процедура конфигурации, см. в разделе "Надежный сеанс WS".
Основные элементы второй задачи выполняются путем задания mode
атрибута <элемента безопасности>, содержащегося в< элементе привязки> клиента и службы.Message
Основные элементы третьей задачи выполняются путем задания clientCredentialType
атрибута <элемента сообщения>, содержащегося в< элементе безопасности> клиента и службы.Certificate
Примечание.
При использовании безопасности сообщений с надежными сеансами Надежный обмен сообщениями пытается пройти проверку подлинности неавторентированного клиента до истечения времени ожидания вместо того, чтобы вызвать исключение при первом сбое.
Настройка службы с помощью WSHttpBinding для использования надежного сеанса
Эта процедура описана в разделе "Практическое руководство. Обмен сообщениями в надежном сеансе".
Настройка клиента с помощью WSHttpBinding для использования надежного сеанса
Эта процедура описана в разделе "Практическое руководство. Обмен сообщениями в надежном сеансе".
Настройка режима и ClientCredentialType в конфигурации
Добавьте соответствующий элемент привязки в <элемент bindings> файла конфигурации. В следующем примере добавляется <элемент wsHttpBinding> .
Добавьте элемент привязки <>и задайте его
name
атрибут соответствующим значением. В примере используется имяMessageSecurity
.<Добавьте элемент безопасности> и задайте для атрибута
mode
значениеMessage
.В элементе безопасности> добавьте <элемент сообщения> и задайте для атрибута
Certificate
clientCredentialType
значение .<
<wsHttpBinding>
<binding name="MessageSecurity">
<security mode="Message">
<message clientCredentialType="Certificate" />
</security>
</binding>
</wsHttpBinding>