Устранение неполадок AD FS: синтаксис правил утверждений

Утверждение является заявлением, что один субъект делает о себе или другом субъекте. Доверяющая сторона выдает требования. Они получают одно или несколько значений и затем пакуются в маркеры безопасности, которые выпускает сервер служб федерации Active Directory (AD FS). В этой статье рассматриваются синтаксис утверждений и создание. Сведения о выдаче утверждений см. в разделе AD FS Устранение неполадок.

Порядок обработки правил требований

Правила утверждений обрабатываются через конвейер утверждений с помощью обработчика утверждений. Подсистема утверждений — это логический компонент AD FS, который проверяет набор входящих утверждений, представленных пользователем. В зависимости от логики в каждом правиле он создает выходной набор утверждений.

Как создать правило утверждения

Правила утверждений создаются отдельно для каждого федеративного отношения доверия в AD FS. Они не распределяются между несколькими трастами. Вы можете:

  • Создайте правило из шаблона правила утверждения .
  • Начните с нуля, создав правило с помощью языка правил утверждения .
  • Используйте Windows PowerShell для настройки правила.

Компоненты языка правила утверждения

Язык правила утверждения состоит из следующих компонентов, разделенных оператором " =>":

  • Условие используется для проверки входных данных и определения, следует ли выполнять условие выдачи правила. Он представляет логическое выражение, которое должно быть оценено как true для запуска части текста правила.
  • Инструкция выдачи.

Ниже приведен пример:

c:[type == "Name", value == "domain user"] => issue(type = "Role", value = "employee");

Эта претензия имеет:

  • Условие: c:[type == "Name", value == "domain user"] вычисляет входное утверждение о том, является ли имя учетной записи Windows пользователем домена.
  • Выдача: issue(type = "Role", value = "employee") добавляет новое утверждение в входное утверждение с ролью сотрудника, если условие верно.

Дополнительные сведения о утверждениях и синтаксисе см. в разделе Роль языка правил утверждений.

Редактор правил утверждений

Редактор правил утверждений выполняет проверку синтаксиса после завершения утверждения и нажмите кнопку "ОК". Если у вас неправильный синтаксис, редактор сообщает вам.

Снимок экрана, показывающий диалоговое окно управления A D F S Management с сообщением о том, что синтаксис пользовательского правила утверждения недействителен.

Журналы событий

При попытке устранить неполадки с утверждением с помощью журналов лучше всего искать выходные данные утверждений. Найдите события 1000 и 1001 в журнале событий.

снимок экрана, на котором показано диалоговое окно

Создание примера приложения

Вы также можете создать пример приложения, которое отражает утверждения. Например, вы можете использовать тестовое приложение и создать доверяющую сторону, имеющую то же утверждение, с которым вы пытались работать, чтобы выяснить, были ли у приложения какие-либо проблемы с этим утверждением.

снимок экрана, на котором показан пример приложения в браузере.

Доступен хороший пример веб-приложения. Приложение отражает утверждения, полученные от доверяющей стороны. Чтобы использовать его, измените приложение web.config:

  • Замените https://app1.contoso.com/sampapp на URL-адрес, используемый для размещения примера приложения.
  • Измените все вхождения sts.contoso.com на ваш сервер AD FS.
  • Замените старый отпечаток пальца на свой отпечаток.
  • Замените значения decryptionKey и validationKey значениями, соответствующими вашему сценарию.

снимок экрана, на котором показан файл веб-конфигурации в Visual Studio.

эта статья блога имеет отличные подробные инструкции по настройке приложения.