Partilhar via


Transformações de afirmações de número inteiro

Este artigo fornece exemplos para utilizar as transformações de afirmações de número inteiro do esquema do Identity Experience Framework no Azure Active Directory B2C (Azure AD B2C). Para obter mais informações, veja ClaimsTransformations (AfirmaçõesTransformações).

Ajustar Numeração

Aumenta ou diminui uma afirmação numérica e devolve uma nova afirmação. Veja a demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim inputClaim int O tipo de afirmação, que contém o número para aumentar ou diminuir. Se o valor da inputClaim afirmação for nulo, é utilizada a predefinição de 0.
InputParameter Operador string Valores possíveis: INCREMENT (predefinição) ou DECREMENT.
OutputClaim outputClaim int O tipo de afirmação produzido após a invocação desta transformação de afirmações.

Exemplo de AdjustNumber

Utilize esta transformação de afirmação para aumentar ou diminuir um valor de afirmação numérica. A seguinte transformação de afirmação aumenta um valor de afirmação numérica.

<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>
  • Afirmações de entrada:
    • inputClaim: 1
  • Parâmetros de entrada:
    • Operador: INCREMENT
  • Afirmações de saída:
    • outputClaim: 2

Exemplo de AdjustNumber com valor nulo

Se a afirmação de entrada for nula, a afirmação de saída será uma.

  • Afirmações de entrada:
    • inputClaim: NULL
  • Parâmetros de entrada:
    • Operador: INCREMENT
  • Afirmações de saída:
    • outputClaim: 1

AssertNumber

Determina se uma afirmação numérica é maior, menor, igual ou não igual a um número. Veja a demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim inputClaim int A primeira afirmação numérica para comparar se é maior, menor, igual ou não igual ao segundo número. O valor nulo gera uma exceção.
InputParameter CompareToValue int O segundo número para comparar se é maior, menor, igual ou não igual ao primeiro número.
InputParameter Operador string Valores possíveis: LessThan, , GreaterThan, GreaterThanOrEqualLessThanOrEqual, , EqualNotEqual.
InputParameter throwError boolean Especifica se esta afirmação deve gerar um erro se o resultado da comparação for true. Valores possíveis: true (predefinição) ou false.
 
Quando definido como true (Modo de asserção) e o resultado da comparação for true, será emitida uma exceção. Quando definido como false (Modo de avaliação), o resultado é um novo tipo de afirmação booleana com um valor de true, ou false.
OutputClaim outputClaim boolean Se ThrowError estiver definida como false, esta afirmação de truesaída contém , ou false de acordo com o resultado da comparação.

Modo de asserção

Quando throwError o parâmetro de entrada é true (predefinição), a transformação de afirmações AssertNumber é sempre executada a partir de um perfil técnico de validação chamado por um perfil técnico auto-afirmado.

Os metadados de perfil técnico assertNumberError auto-afirmado controlam a mensagem de erro que o perfil técnico apresenta ao utilizador. As mensagens de erro podem ser localizadas.

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

Para obter mais informações sobre como chamar a transformação de afirmações num modo de afirmação, veja AssertStringClaimsAreEqual, AssertBooleanClaimIsEqualToValue e AssertDateTimeIsGreaterThan claims transformations.

Exemplo de AssertNumber

O exemplo seguinte afirma que o número de tentativas é superior a cinco. A transformação de afirmações gera um erro de acordo com o resultado da comparação.

<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>
  • Afirmações de entrada:
    • inputClaim: 10
  • Parâmetros de entrada:
    • Operador: GreaterThan
    • CompareToValue: 5
    • throwError: true
  • Resultado: Erro emitido

Exemplo do modo de avaliação AssertNumber

O exemplo seguinte avalia se o número de tentativas é superior a cinco. A afirmação de saída contém um valor booleano de acordo com o resultado da comparação. A transformação de afirmações não gera um erro.

<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>
  • Afirmações de entrada:
    • inputClaim: 10
  • Parâmetros de entrada:
    • Operador: GreaterThan
    • CompareToValue: 5
    • throwError: false
  • Afirmações de saída:
    • outputClaim: true

ConverterNumberToStringClaim

Converte um tipo de dados longo num tipo de dados de cadeia. Veja a demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim inputClaim long O tipo de afirmação para converter numa cadeia.
OutputClaim outputClaim string O tipo de afirmação produzido após a invocação desta transformação de afirmações.

Exemplo de ConvertNumberToStringClaim

Neste exemplo, a numericUserId afirmação com um tipo de valor longo é convertida numa UserId afirmação com um tipo de valor de cadeia.

<ClaimsTransformation Id="CreateUserId" TransformationMethod="ConvertNumberToStringClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="UserId" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Afirmações de entrada:
    • inputClaim: 12334 (longo)
  • Afirmações de saída:
    • outputClaim: "12334" (cadeia)

Passos seguintes