Преобразования целочисленных утверждений
В этой статье приведены примеры использования преобразований целочисленных утверждений для схемы инфраструктуры процедур идентификации в Azure Active Directory B2C (Azure AD B2C). Дополнительные сведения см. в статье о преобразовании утверждений.
AdjustNumber
Увеличивает или уменьшает числовое утверждение и возвращает новое утверждение. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания |
---|---|---|---|
InputClaim | InputClaim | INT | Тип утверждения, содержащий числовое значение для увеличения или уменьшения. Если значением утверждения inputClaim является null, по умолчанию используется значение 0. |
InputParameter | Оператор | строка | Возможные значения: INCREMENT (по умолчанию) или DECREMENT . |
outputClaim | outputClaim | INT | Тип утверждения, который создается после вызова этого преобразования утверждений. |
Пример AdjustNumber
Это преобразование позволяет увеличить или уменьшить числовое значение утверждения. Следующее преобразование утверждения увеличивает числовое значение утверждения.
<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>
- Входящие утверждения:
- inputClaim: 1
- Входные параметры:
- Оператор: INCREMENT
- Исходящие утверждения:
- outputClaim: 2
Пример AdjustNumber со значением NULL
Если входное утверждение имеет значение NULL, выходное утверждение будет одним.
- Входящие утверждения:
- inputClaim: NULL
- Входные параметры:
- Оператор: INCREMENT
- Исходящие утверждения:
- outputClaim: 1
AssertNumber
Определяет отношение числового утверждения к числу (больше, меньше, равно или не равно). Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания |
---|---|---|---|
InputClaim | InputClaim | INT | Первое числовое утверждение, сравниваемое (больше, меньше, равно, не равно) с указанным вторым числом. При значении NULL возникает исключение. |
InputParameter | CompareToValue | INT | Второе число, сравниваемое (больше, меньше, равно, не равно) с указанным первым числом. |
InputParameter | Оператор | строка | Возможные значения: LessThan , GreaterThan , GreaterThanOrEqual , LessThanOrEqual , Equal , NotEqual . |
InputParameter | 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>
- Входящие утверждения:
- inputClaim: +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>
- Входящие утверждения:
- inputClaim: +10
- Входные параметры:
- Оператор: GreaterThan
- CompareToValue: 5
- throwError: false
- Исходящие утверждения:
- outputClaim: true.
ConvertNumberToStringClaim
Преобразует тип данных "длинное целое" в тип данных "строка". Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.
Элемент | TransformationClaimType | Тип данных | Примечания |
---|---|---|---|
InputClaim | InputClaim | long | Тип утверждения для преобразования в строку. |
outputClaim | outputClaim | строка | Тип утверждения, который создается после вызова этого преобразования утверждений. |
Пример ConvertNumberToStringClaim
В этом примере утверждение numericUserId
с типом значения "длинное целое" преобразуется в утверждение UserId
с типом значения "строка".
<ClaimsTransformation Id="CreateUserId" TransformationMethod="ConvertNumberToStringClaim">
<InputClaims>
<InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="UserId" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- Входящие утверждения:
- inputClaim: 12334 (длинное целое)
- Исходящие утверждения:
- outputClaim: "12334" (строка)
Дальнейшие действия
- Дополнительные примеры преобразования утверждений можно найти в репозитории сообщества Azure AD B2C в GitHub.