Поделиться через


Преобразования целых утверждений

Это важно

Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".

В этой статье приведены примеры использования целочисленных преобразований утверждений схемы Identity Experience Framework в Azure Active Directory B2C (Azure AD B2C). Дополнительные сведения см. в разделе ClaimsTransformations.

Изменить номер

Увеличивает или уменьшает числовое утверждение и возвращает новое утверждение. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType (Тип утверждения) Тип данных Примечания.
InputClaim (Утверждение входа) InputClaim инт Тип утверждения, содержащий число для увеличения или уменьшения. inputClaim Если значение утверждения равно NULL, используется значение по умолчанию 0.
ПараметрВвода Оператор струна Возможные значения: INCREMENT (по умолчанию) или DECREMENT.
outputClaim outputClaim инт Тип утверждения, который создается после вызова этого преобразования утверждений.

Пример НастройкиNumber

Используйте это преобразование утверждения для увеличения или уменьшения числового значения утверждения. Следующее преобразование утверждений увеличивает числовое значение утверждения.

<ClaimsTransformation Id="UpdateSteps" TransformationMethod="AdjustNumber">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="steps" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="Operator" DataType="string" Value="INCREMENT" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="steps" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Входные утверждения:
    • Утверждение о вводе: 1
  • Входные параметры:
    • Оператор: INCREMENT
  • Выходные утверждения:
    • outputClaim: 2

Пример Параметра AdjustNumber со значением NULL

Если входное утверждение равно NULL, выходное утверждение будет одним.

  • Входные утверждения:
    • inputClaim: NULL
  • Входные параметры:
    • Оператор: INCREMENT
  • Выходные утверждения:
    • выходУтверждение: 1

AssertNumber (Номер утверждения)

Определяет, больше ли числовое утверждение, меньшее, равное или не равно числу. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType (Тип утверждения) Тип данных Примечания.
InputClaim (Утверждение входа) InputClaim инт Первое числовое утверждение для сравнения того, больше ли оно больше, меньше, равно или не равно второму числу. При значении NULL возникает исключение.
ПараметрВвода Функция сравнения значений инт Второе число, сравняющее, большее, меньшее, равное или не равное первому числу.
ПараметрВвода Оператор струна Возможные значения: LessThan, GreaterThan, GreaterThanOrEqual, LessThanOrEqual, Equal, NotEqual.
ПараметрВвода throwError булевый Указывает, должно ли это утверждение вызывать ошибку, если результат сравнения равен true. Возможные значения: true (по умолчанию) или false.
 
Если задано значение true (режим утверждения), а результат сравнения равен true, создается исключение. Если задано false значение (режим оценки), результатом является новый логический тип утверждения со значением trueили false.
outputClaim outputClaim булевый Если ThrowError задано значение false, это выходное утверждение содержит trueили false в соответствии с результатом сравнения.

Режим утверждения

Если throwError входной параметр имеет значение true (по умолчанию), преобразование утверждений AssertNumber всегда выполняется из технического профиля проверки , вызываемого самостоятельным техническим профилем.

Метаданные самоутверждаемого технического профиля AssertNumberError управляют сообщением об ошибке, которое технический профиль представляет пользователю. Сообщения об ошибках можно локализовать.

<TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
  <Metadata>
    <Item Key="AssertNumberError">You've reached the maximum logon attempts</Item>
  </Metadata>
  ...
</TechnicalProfile>

Дополнительные сведения о вызове преобразования утверждений в режиме утверждения см. в разделе AssertStringClaimsAreEqual, AssertBooleanClaimIsEqualToValue и преобразования утверждений AssertDateTimeIsGreaterThan .

Пример assertNumber

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

<ClaimsTransformation Id="isOverLimit" TransformationMethod="AssertNumber">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="attempts" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="Operator" DataType="string" Value="GreaterThan" />
    <InputParameter Id="CompareToValue" DataType="int" Value="5" />
    <InputParameter Id="throwError" DataType="boolean" Value="true" />
  </InputParameters>
</ClaimsTransformation>
  • Входные утверждения:
    • Заявка на ввод: 10
  • Входные параметры:
    • Оператор: GreaterThan
    • CompareToValue: 5
    • throwError: true
  • Результат: возникла ошибка.

Пример режима оценки AssertNumber

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

<ClaimsTransformation Id="isOverLimit" TransformationMethod="AssertNumber">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="attempts" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="Operator" DataType="string" Value="GreaterThan" />
    <InputParameter Id="CompareToValue" DataType="int" Value="5" />
    <InputParameter Id="throwError" DataType="boolean" Value="false" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="attemptsCountExceeded" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Входные утверждения:
    • Заявка на ввод: 10
  • Входные параметры:
    • Оператор: GreaterThan
    • CompareToValue: 5
    • throwError: false
  • Выходные утверждения:
    • outputClaim: true.

ConvertNumberToStringClaim

Преобразует длинный тип данных в строковый тип данных. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType (Тип утверждения) Тип данных Примечания.
InputClaim (Утверждение входа) InputClaim долго Тип утверждения для преобразования в строку.
outputClaim outputClaim струна Тип утверждения, который создается после вызова этого преобразования утверждений.

Пример ConvertNumberToStringClaim

В этом примере numericUserId утверждение со значением типа long преобразуется UserId в утверждение со значением типа строки.

<ClaimsTransformation Id="CreateUserId" TransformationMethod="ConvertNumberToStringClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="UserId" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Входные утверждения:
    • inputClaim: 12334 (длинный)
  • Выходные утверждения:
    • outputClaim: "123334" (строка)

Дальнейшие шаги