你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 CAPTCHA 显示控件验证 CAPTCHA 质询字符串
使用 CAPTCHA 显示控件生成 CAPTCHA 质询字符串,然后通过要求用户输入他们看到或听到的内容来验证它。 若要显示 CAPTCHA 显示控件,请从 自断言技术配置文件引用它,必须将自断言技术配置文件的 setting.enableCaptchaChallenge
元数据值设置为 true。
屏幕截图显示了注册页上显示的 CAPTCHA 显示控件:
注册页使用 CAPTCHA 显示控件加载。 然后,用户输入他们看到或听到的字符。 “ 发送验证码”按钮将验证码 发送到用户的电子邮件,并且不是 CAPTCHA 显示控件元素,但它会导致验证 CAPTCHA 质询字符串。
CAPTCHA 显示控件元素
下表汇总了 CAPTCHA 显示控件包含的元素。
元素 | 必须 | 说明 |
---|---|---|
UserInterfaceControlType | 是 | 值必须是 CaptchaControl。 |
InputClaims | 是 | 需要一个或多个声明作为输入来指定 CAPTCHA 质询类型并唯一标识质询。 |
DisplayClaims | 是 | 要向用户显示的声明(例如 CAPTCHA 质询代码)或从用户收集的声明,例如用户输入的代码 |
OutputClaim | 否 | 用户完成 CAPTCHA 代码验证过程后,要返回到自断言页面的任何声明。 |
操作 | 是 | CAPTCHA 显示控件包含两个操作: GetChallenge 和 VerifyChallenge。 GetChallenge 操作生成,然后在用户界面上显示 CAPTCHA 质询代码。 VerifyChallenge 操作验证用户输入的 CAPTCHA 质询代码。 |
以下 XML 代码片段代码显示了 CaptchaProvider 显示控件的示例:
<DisplayControls>
...
<DisplayControl Id="captchaControlChallengeCode" UserInterfaceControlType="CaptchaControl" DisplayName="Help us beat the bots">
<InputClaims>
<InputClaim ClaimTypeReferenceId="challengeType" />
<InputClaim ClaimTypeReferenceId="challengeId" />
</InputClaims>
<DisplayClaims>
<DisplayClaim ClaimTypeReferenceId="challengeType" ControlClaimType="ChallengeType" />
<DisplayClaim ClaimTypeReferenceId="challengeId" ControlClaimType="ChallengeId" />
<DisplayClaim ClaimTypeReferenceId="challengeString" ControlClaimType="ChallengeString" />
<DisplayClaim ClaimTypeReferenceId="captchaEntered" ControlClaimType="CaptchaEntered" />
</DisplayClaims>
<Actions>
<Action Id="GetChallenge">
<ValidationClaimsExchange>
<ValidationClaimsExchangeTechnicalProfile
TechnicalProfileReferenceId="HIP-GetChallenge" />
</ValidationClaimsExchange>
</Action>
<Action Id="VerifyChallenge">
<ValidationClaimsExchange>
<ValidationClaimsExchangeTechnicalProfile
TechnicalProfileReferenceId="HIP-VerifyChallenge" />
</ValidationClaimsExchange>
</Action>
</Actions>
</DisplayControl>
...
</DisplayControls>
后续步骤
- 在 Azure Active Directory B2C 中启用 CAPTCHA。