Защита служб рабочего процесса
Данный раздел относится к версии 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
.
Выполнение этого образца
Запустите среду Visual Studio 2010 с правами администратора.
Загрузка SecuringWorkflowServices.sln в Visual Studio 2010.
Нажмите клавишу F6 для компиляции решения.
Установите проект Service в качестве проекта для запуска решения.
Чтобы запустить службу без отладки, нажмите клавиши CTRL+F5.
Установите проект Client в качестве проекта для запуска решения.
Чтобы запустить клиент без отладки, нажмите клавиши CTRL+F5.
Примечание |
---|
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\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
|