Transformace celočíselných deklarací identity

Tento článek obsahuje příklady použití celočísých transformací deklarací identity schématu architektury prostředí identit v Azure Active Directory B2C (Azure AD B2C). Další informace najdete v tématu ClaimsTransformations.

Upravit číslo

Zvýší nebo sníží číselnou deklaraci identity a vrátí novou deklaraci identity. Podívejte se na živou ukázku této transformace deklarací identity.

Prvek TransformationClaimType Typ dat Poznámky
InputClaim inputClaim int Typ deklarace identity, který obsahuje číslo, které chcete zvýšit nebo snížit. inputClaim Pokud je hodnota deklarace identity null, použije se výchozí hodnota 0.
InputParameter Operátor řetězec Možné hodnoty: INCREMENT (výchozí) nebo DECREMENT.
OutputClaim outputClaim int Byl vyvolán typ deklarace identity, který se vytvoří po transformaci deklarací identity.

Příklad příkazu AdjustNumber

Pomocí této transformace deklarace identity můžete zvýšit nebo snížit číselnou hodnotu deklarace identity. Následující transformace deklarace identity zvýší číselnou hodnotu deklarace identity.

<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>
  • Vstupní deklarace identity:
    • inputClaim: 1
  • Vstupní parametry:
    • Operátor: INCREMENT
  • Výstupní deklarace identity:
    • outputClaim: 2

Příklad příkazu AdjustNumber s hodnotou null

Pokud má vstupní deklarace identity hodnotu null, výstupní deklarace identity bude jedna.

  • Vstupní deklarace identity:
    • inputClaim: NULL
  • Vstupní parametry:
    • Operátor: INCREMENT
  • Výstupní deklarace identity:
    • outputClaim: 1

AssertNumber

Určuje, zda je číselná deklarace identity větší, menší, rovna nebo nerovná se číslu. Podívejte se na živou ukázku této transformace deklarací identity.

Prvek TransformationClaimType Typ dat Poznámky
InputClaim inputClaim int První číselná deklarace identity k porovnání, jestli je větší, menší, rovná se nebo nerovná druhému číslu. Hodnota Null vyvolá výjimku.
InputParameter Porovnat Na Hodnotu int Druhé číslo pro porovnání, zda je větší, menší, rovno nebo nerovná se prvnímu číslu.
InputParameter Operátor řetězec Možné hodnoty: LessThan, GreaterThan, , LessThanOrEqualGreaterThanOrEqual, , Equal, . NotEqual
InputParameter throwError boolean Určuje, jestli má tento kontrolní výraz vyvolat chybu, pokud je truevýsledek porovnání . Možné hodnoty: true (výchozí) nebo false.
 
Při nastavení na true (režim kontrolního výrazu) a výsledek porovnání je true, vyvolá se výjimka. Při nastavení na false (režim vyhodnocení) je výsledkem nový logický typ deklarace identity s hodnotou true, nebo false.
OutputClaim outputClaim boolean Pokud ThrowError je nastavená hodnota false, tato výstupní deklarace identity obsahuje true, nebo false podle výsledku porovnání.

Režim kontrolního výrazu

Pokud throwError je true vstupní parametr (výchozí), transformace deklarací identity AssertNumber se vždy provádí z technického profilu ověření , který je volán vlastním technickým profilem.

Metadata vlastního technického profilu AssertNumberError řídí chybovou zprávu, kterou technický profil zobrazí uživateli. Chybové zprávy lze lokalizovat.

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

Další informace o volání transformace deklarací identity v režimu kontrolního výrazu najdete v tématech AssertStringClaimsAreEqual, AssertBooleanClaimIsEqualToValue a AssertDateTimeIsGreaterThan transformace deklarací identity.

Příklad AssertNumber

Následující příklad tvrdí, že počet pokusů je více než pět. Transformace deklarací identity vyvolá chybu podle výsledku porovnání.

<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>
  • Vstupní deklarace identity:
    • inputClaim: 10
  • Vstupní parametry:
    • Operátor: GreaterThan
    • CompareToValue: 5
    • throwError: true
  • Výsledek: Vyvolání chyby

Příklad režimu vyhodnocení AssertNumber

Následující příklad vyhodnotí, jestli je počet pokusů více než pět. Výstupní deklarace identity obsahuje logickou hodnotu podle výsledku porovnání. Transformace deklarací identity nevyvolá chybu.

<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>
  • Vstupní deklarace identity:
    • inputClaim: 10
  • Vstupní parametry:
    • Operátor: GreaterThan
    • CompareToValue: 5
    • throwError: false
  • Výstupní deklarace identity:
    • outputClaim: true

ConvertNumberToStringClaim

Převede datový typ typu long na datový typ řetězec. Podívejte se na živou ukázku této transformace deklarací identity.

Prvek TransformationClaimType Typ dat Poznámky
InputClaim inputClaim long Typ deklarace identity, který se má převést na řetězec.
OutputClaim outputClaim řetězec Byl vyvolán typ deklarace identity, který se vytvoří po transformaci deklarací identity.

Příklad příkazu ConvertNumberToStringClaim

V tomto příkladu numericUserId se deklarace identity s typem hodnoty long převede na UserId deklaraci identity s typem hodnoty string.

<ClaimsTransformation Id="CreateUserId" TransformationMethod="ConvertNumberToStringClaim">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="numericUserId" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="UserId" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Vstupní deklarace identity:
    • inputClaim: 12334 (dlouhé)
  • Výstupní deklarace identity:
    • outputClaim: "12334" (řetězec)

Další kroky