تحويلات المطالبات المنطقية
توفر هذه المقالة أمثلة لاستخدام سلسلة تحويلات المطالبات لمخطط إطار عمل تجربة الهوية في Microsoft Azure Active Directory B2C (Azure AD B2C). لمزيد من المعلومات، راجع تحويلات المطالبات.
AndClaims
يحسب عملية And
لمُطالبتين من مطالبات الإدخال المنطقية ويُعين مطالبة الناتج مع نتيجة العملية. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.
العنصر | نوع مطالبة التحول | نوع البيانات | ملاحظات |
---|---|---|---|
InputClaim | inputClaim1 | منطقي | المطالبة الأولى للتقييم. |
InputClaim | inputClaim2 | منطقي | المطالبة الثانية للتقييم. |
OutputClaim | outputClaim | منطقي | تم استدعاء المطالبة التي ستُنتج بعد تحويل المطالبات هذا (صواب أو خطأ). |
مثال على المطالبات
يوضح تحويل المطالبات التالي كيفية And
لمُطالبتين منطقيتين: isEmailNotExist
، وisSocialAccount
. تُعيّن مطالبة الناتج presentEmailSelfAsserted
إلى true
إذا كانت قيمة كل مطالبة من مُطالبتيّ الإدخال هي true
.
<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="AndClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="isEmailNotExist" TransformationClaimType="inputClaim1" />
<InputClaim ClaimTypeReferenceId="isSocialAccount" TransformationClaimType="inputClaim2" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="presentEmailSelfAsserted" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- مطالبات الإدخال:
- inputClaim1: صواب
- inputClaim2: خطأ
- مطالبات الإخراج:
- outputClaim: خطأ
AssertBooleanClaimIsEqualToValue
يفحص تساوي القيم المنطقية لمطالبتين وطرح استثناء في حال لم تكن كذلك. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.
العنصر | نوع مطالبة التحول | نوع البيانات | ملاحظات |
---|---|---|---|
inputClaim | inputClaim | منطقي | المطالبة التي سيُتحقق منها. |
InputParameter | valueToCompareTo | منطقي | القيمة المطلوب مقارنتها (صواب أو خطأ). |
يتم تنفيذ تحويل مطالبات AssertStringClaimsAreEqual دائمًا من ملف تعريف فني للتحققيتم استدعاؤه من قِبلملف تعريف فني ذاتي. بيانات تعريف التشكيل الجانبي التقنية تأكيد ذاتي UserMessageIfClaimsTransformationBooleanValueIsNotEqual يتحكم في رسالة الخطأ التي يقدمها التشكيل الجانبي التقني للمستخدم. يمكن ترجمة رسائل الخطأ
Example of AssertBooleanClaimIsEqualToValue
يوضح تحويل المطالبات التالي كيفية التحقق من قيمة مطالبة منطقية بقيمة true
. في حال كانت قيمة المطالبة accountEnabled
خطأ، فستظهر رسالة خطأ.
<ClaimsTransformation Id="AssertAccountEnabledIsTrue" TransformationMethod="AssertBooleanClaimIsEqualToValue">
<InputClaims>
<InputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="inputClaim" />
</InputClaims>
<InputParameters>
<InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
</InputParameters>
</ClaimsTransformation>
- مطالبات الإدخال:
- outputClaim: خطأ
- valueToCompareTo: صواب
- النتيجة: خطأ طرح
استدعاء تحويل مطالبات AssertBooleanClaimIsEqualToValue
يستدعي ملف التعريف التقني Example-AssertBoolean
تحويل المطالبات AssertAccountEnabledIsTrue
.
<TechnicalProfile Id="Example-AssertBoolean">
<DisplayName>Unit test</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.ClaimsTransformationProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="ComparisonResult" DefaultValue="false" />
</OutputClaims>
<OutputClaimsTransformations>
<OutputClaimsTransformation ReferenceId="AssertAccountEnabledIsTrue" />
</OutputClaimsTransformations>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
</TechnicalProfile>
يستدعي ملف التعريف التقني ذو التأكيد الذاتي ملف التعريف التقني Example-AssertBoolean
للتحقق من الصحة.
<TechnicalProfile Id="SelfAsserted-AssertDateTimeIsGreaterThan">
<DisplayName>Example</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="ContentDefinitionReferenceId">api.selfasserted</Item>
<Item Key="UserMessageIfClaimsTransformationBooleanValueIsNotEqual">Custom error message if account is disabled.</Item>
</Metadata>
...
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="Example-AssertBoolean" />
</ValidationTechnicalProfiles>
</TechnicalProfile>
CompareBooleanClaimToValue
فحص القيمة المنطقية للمطالبة تساوي true
أو false
، ثم إرجاع نتيجة الضغط. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.
العنصر | نوع مطالبة التحول | نوع البيانات | ملاحظات |
---|---|---|---|
InputClaim | inputClaim | منطقي | المطالبة التي ستُقارن. |
InputParameter | valueToCompareTo | منطقي | القيمة المطلوب مقارنتها (صواب أو خطأ). |
OutputClaim | compareResult | منطقي | تم استدعاء المطالبة التي نتجت بعد تحويل المطالبات هذا. |
مثال على CompareBooleanClaimToValue
يوضح تحويل المطالبات التالي كيفية التحقق من قيمة مطالبة منطقية بقيمة true
. في حال كانت قيمة نوع المطالبة IsAgeOver21Years
مساوية لـ true
، فسيُرجع تحويل المطالبات true
، وإن لم يكن كذلك فسيُرجع false
.
<ClaimsTransformation Id="AssertAccountEnabled" TransformationMethod="CompareBooleanClaimToValue">
<InputClaims>
<InputClaim ClaimTypeReferenceId="IsAgeOver21Years" TransformationClaimType="inputClaim" />
</InputClaims>
<InputParameters>
<InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="compareResult"/>
</OutputClaims>
</ClaimsTransformation>
- مطالبات الإدخال:
- outputClaim: خطأ
- معلمات الإدخال:
- valueToCompareTo: صواب
- مطالبات الإخراج:
- compareResult: خطأ
NotClaims
يحسب عملية Not
لمطالبات الإدخال المنطقية ويُعين مطالبة الناتج مع نتيجة العملية. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.
العنصر | نوع مطالبة التحول | نوع البيانات | ملاحظات |
---|---|---|---|
InputClaim | inputClaim | منطقي | المطالبة التي يتعين تشغيلها. |
OutputClaim | outputClaim | منطقي | تم استدعاء المطالبة التي نتجت بعد تحويل المطالبات هذا (صواب أو خطأ). |
مثال على NotClaims
يوضح تحويل المطالبات التالي كيفية تنفيذ النفي المنطقي للمطالبة.
<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="NotClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="inputClaim" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- مطالبات الإدخال:
- outputClaim: خطأ
- مطالبات الإخراج:
- outputClaim: صواب
OrClaims
يحسب Or
لمُطالبتين منطقيتين ويُعين مطالبة الناتج مع نتيجة العملية. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.
العنصر | نوع مطالبة التحول | نوع البيانات | ملاحظات |
---|---|---|---|
InputClaim | inputClaim1 | منطقي | المطالبة الأولى للتقييم. |
InputClaim | inputClaim2 | منطقي | المطالبة الثانية للتقييم. |
OutputClaim | outputClaim | منطقي | تم استدعاء المطالبة التي ستُنتج بعد تحويل المطالبات هذا (صواب أو خطأ). |
مثال على OrClaims
يوضح تحويل المطالبات التالي كيفية Or
لمُطالبتين منطقيتين.
<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="OrClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="isLastTOSAcceptedNotExists" TransformationClaimType="inputClaim1" />
<InputClaim ClaimTypeReferenceId="isLastTOSAcceptedGreaterThanNow" TransformationClaimType="inputClaim2" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="presentTOSSelfAsserted" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
- مطالبات الإدخال:
- inputClaim1: صواب
- inputClaim2: خطأ
- مطالبات الإخراج:
- outputClaim: صحيح
الخطوات التالية
- يمكنك العثور على المزيد من أمثلة تحويل المطالبات في مستودع GitHub لمجتمع متاجرة عمل-مستهلك في Microsoft Azure Active Directory