You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure B2C注册时设置block sign in为true实现账户审批登录的咨询

方案可行性与完整配置说明

你想要实现的「注册默认禁用账户、审批通过后才允许登录」的需求完全可以通过自定义策略实现,你当前的配置方向正确,补充以下缺失步骤即可正常生效:

  1. 你在AAD-UserWriteUsingLogonEmail技术配置文件中添加的持久化声明配置本身是正确的,作用就是写入用户时强制将账户启用状态设为false,对应Azure门户用户配置中的「阻止登录」开关:

    <PersistedClaim ClaimTypeReferenceId="accountEnabled" DefaultValue="false" AlwaysUseDefaultValue="true" />
    
  2. 检查并补充声明定义
    确认你的策略文件(通常是扩展策略)的<ClaimsSchema>节点下已经存在accountEnabled的声明定义,没有的话需要添加:

    <ClaimType Id="accountEnabled">
      <DisplayName>账户启用状态</DisplayName>
      <DataType>boolean</DataType>
      <AdminHelpText>标记用户账户是否允许登录</AdminHelpText>
    </ClaimType>
    
  3. 优化登录提示逻辑
    在登录使用的用户读取技术配置文件(一般为AAD-UserReadUsingEmailAddress或AAD-UserReadUsingUserName)中添加accountEnabled作为输出声明,后续可搭配自定义判断逻辑,给禁用状态的用户返回明确提示:「您的账户正在等待管理员审批,审批通过后即可登录」。

  4. 账户审批操作方式
    需要启用已注册的用户时,可选两种操作方式:

    • 手动操作:直接进入Azure AD用户管理页面,找到对应用户,关闭「阻止登录」开关即可
    • 自动化操作:调用Microsoft Graph API PATCH /users/{用户ID}接口,将accountEnabled属性更新为true,可对接内部审批流实现审批通过后自动触发启用操作。

注意:如果你的自定义策略同时支持第三方社交账号登录,需要对社交账号对应的用户写入技术配置文件也添加相同的accountEnabled持久化配置,否则社交账号注册的用户会默认处于启用状态。

内容的提问来源于stack exchange,提问作者Benji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:15:01