Защита служб рабочего процесса

Данный раздел относится к версии Windows Workflow Foundation 4.

В образце безопасной службы рабочего процесса демонстрируются следующие процедуры.

  • Создание базовой службы рабочего процесса с помощью действий Receive и SendReply.

  • Использование конфигурации Windows Communication Foundation (WCF) для определения защищенных конечных точек для использования службой рабочего процесса.

  • Создание утверждений внутри настраиваемой политики с использованием ServiceAuthorizationManager для проверки утверждений.

Демонстрации

Использование безопасности WCF для защиты взаимодействия между клиентом и службой рабочего процесса, авторизация на основе утверждений.

Обсуждение

В этом образце демонстрируется использование инфраструктуры безопасности WCF для защиты службы рабочего процесса таким же образом, как и для обычной службы WCF. Конкретно, в примере для авторизации используется пользовательское утверждение. В этом случае используется WSHttpBinding и безопасность режима сообщений с учетными данными Windows.

Настраиваемая политика IAuthorizationPolicy (CustomNameCheckerPolicy) проверяет имя пользователя Windows клиента и анализирует конкретный символ. Если этот символ присутствует, он создает и добавляет утверждение в контекст EvaluationContext. Выполняя это, настраиваемая политика делает утверждение, что клиент имеет этот символ в имени пользователя. Это утверждение может запрашиваться в течение времени существования вызова. Этот символ можно найти в Constants.cs.

Политика авторизации ищет утверждение внутри SecureWorkFlowAuthZManager. Если она его находит, она возвращает значение true и разрешает продолжение рабочего процесса. В противном случает она возвращает значение false, которое вызывает возврат клиенту сообщения «Отказано в доступе». Другие утверждения присутствуют в контексте и могут также проверяться внутри SecureWorkFlowAuthZManager.

Выполнение этого образца

  1. Запустите среду Visual Studio 2010 с правами администратора.

  2. Загрузка SecuringWorkflowServices.sln в Visual Studio 2010.

  3. Нажмите клавишу F6 для компиляции решения.

  4. Установите проект Service в качестве проекта для запуска решения.

  5. Чтобы запустить службу без отладки, нажмите клавиши CTRL+F5.

  6. Установите проект Client в качестве проекта для запуска решения.

  7. Чтобы запустить клиент без отладки, нажмите клавиши CTRL+F5.

Ee943756.Important(ru-ru,VS.100).gif Примечание
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).

<диск_установки>:\WF_WCF_Samples

Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.

<диск_установки>:\WF_WCF_Samples\WF\Scenario\Services\SecuringWorkflowServices