返回题库高级 .NET 刷题ASP.NET Core 选择题 · 第 28 / 50 篇

ASP.NET Core 试题 28:Claims、角色与资源授权

0541 在 Claims 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. Claim 是发行者关于主体的声明,授权前必须信任产生该 Claim 的认证方案
  • B. 只要键名是 permission,任何请求字段都能用于授权
  • C. 客户端自报的头或正文不能直接提升为可信权限 Claim
  • D. 观察到“攻击者在查询参数中加入 admin 权限”即可把一次现象当成完整框架契约。
查看答案与解析

正确答案A

正确答案直接描述 Claims 的主规则:Claim 是发行者关于主体的声明,授权前必须信任产生该 Claim 的认证方案。选项“客户端自报的头或正文不能直接提升为可信权限 Claim”是使用规则时要验证的边界,不是规则本身;“只要键名是 permission,任何请求字段都能用于授权”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0542 攻击者在查询参数中加入 admin 权限。排查时哪项动作最合理?

难度: 进阶

  • A. 直接按“只要键名是 permission,任何请求字段都能用于授权”定性,不再检查配置、身份或运行时证据。
  • B. 只增加重试次数或机器资源,暂不核对“客户端自报的头或正文不能直接提升为可信权限 Claim”。
  • C. 以一次成功请求作为结论,不再确认“Claim 是发行者关于主体的声明,授权前必须信任产生该 Claim 的认证方案”是否成立。
  • D. 先验证“客户端自报的头或正文不能直接提升为可信权限 Claim”,再依据“Claim 是发行者关于主体的声明,授权前必须信任产生该 Claim 的认证方案”判断实现是否符合契约。
查看答案与解析

正确答案D

场景“攻击者在查询参数中加入 admin 权限”指向 Claims,但症状本身不能证明根因。正确排查应先确认边界“客户端自报的头或正文不能直接提升为可信权限 Claim”,再用主规则“Claim 是发行者关于主体的声明,授权前必须信任产生该 Claim 的认证方案”解释证据。直接采用误区“只要键名是 permission,任何请求字段都能用于授权”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0543 关于 Claims,以下哪项说法不成立?

难度: 实战

  • A. Claim 是发行者关于主体的声明,授权前必须信任产生该 Claim 的认证方案
  • B. 只要键名是 permission,任何请求字段都能用于授权
  • C. 客户端自报的头或正文不能直接提升为可信权限 Claim
  • D. 出现“攻击者在查询参数中加入 admin 权限”时,应收集证据并同时核对主规则与适用边界。
查看答案与解析

正确答案B

题目要求选出不成立的说法,答案“只要键名是 permission,任何请求字段都能用于授权”正是 Claims 的典型误区。其余三项分别给出了主规则“Claim 是发行者关于主体的声明,授权前必须信任产生该 Claim 的认证方案”、适用边界“客户端自报的头或正文不能直接提升为可信权限 Claim”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0544 针对“攻击者在查询参数中加入 admin 权限”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“只要键名是 permission,任何请求字段都能用于授权”修改实现,并把一次请求成功作为验收结果。
  • B. 按“Claim 是发行者关于主体的声明,授权前必须信任产生该 Claim 的认证方案”修改代码后直接上线,不验证“客户端自报的头或正文不能直接提升为可信权限 Claim”。
  • C. 按“Claim 是发行者关于主体的声明,授权前必须信任产生该 Claim 的认证方案”修正实现,并用测试或遥测验证“客户端自报的头或正文不能直接提升为可信权限 Claim”。
  • D. 只验证“客户端自报的头或正文不能直接提升为可信权限 Claim”,但实现仍继续依赖“只要键名是 permission,任何请求字段都能用于授权”。
查看答案与解析

正确答案C

完整决策同时覆盖规则与验证:Claim 是发行者关于主体的声明,授权前必须信任产生该 Claim 的认证方案;并确认 客户端自报的头或正文不能直接提升为可信权限 Claim。继续接受“只要键名是 permission,任何请求字段都能用于授权”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“攻击者在查询参数中加入 admin 权限”这一生产场景能否安全上线。

0545 在 角色授权 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. 角色会自动从数据库表名推断,无需加载到 Principal
  • B. RequireRole 或 Roles 检查 ClaimsPrincipal 的角色 Claim
  • C. 角色名称和大小写行为取决于身份实现与 Claim 配置,不能假设跨系统天然一致
  • D. 观察到“用户数据库有角色但令牌未包含导致 403”即可把一次现象当成完整框架契约。
查看答案与解析

正确答案B

正确答案直接描述 角色授权 的主规则:RequireRole 或 Roles 检查 ClaimsPrincipal 的角色 Claim。选项“角色名称和大小写行为取决于身份实现与 Claim 配置,不能假设跨系统天然一致”是使用规则时要验证的边界,不是规则本身;“角色会自动从数据库表名推断,无需加载到 Principal”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0546 用户数据库有角色但令牌未包含导致 403。排查时哪项动作最合理?

难度: 进阶

  • A. 直接按“角色会自动从数据库表名推断,无需加载到 Principal”定性,不再检查配置、身份或运行时证据。
  • B. 只增加重试次数或机器资源,暂不核对“角色名称和大小写行为取决于身份实现与 Claim 配置,不能假设跨系统天然一致”。
  • C. 先验证“角色名称和大小写行为取决于身份实现与 Claim 配置,不能假设跨系统天然一致”,再依据“RequireRole 或 Roles 检查 ClaimsPrincipal 的角色 Claim”判断实现是否符合契约。
  • D. 以一次成功请求作为结论,不再确认“RequireRole 或 Roles 检查 ClaimsPrincipal 的角色 Claim”是否成立。
查看答案与解析

正确答案C

场景“用户数据库有角色但令牌未包含导致 403”指向 角色授权,但症状本身不能证明根因。正确排查应先确认边界“角色名称和大小写行为取决于身份实现与 Claim 配置,不能假设跨系统天然一致”,再用主规则“RequireRole 或 Roles 检查 ClaimsPrincipal 的角色 Claim”解释证据。直接采用误区“角色会自动从数据库表名推断,无需加载到 Principal”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0547 关于 角色授权,以下哪项说法不成立?

难度: 实战

  • A. RequireRole 或 Roles 检查 ClaimsPrincipal 的角色 Claim
  • B. 角色名称和大小写行为取决于身份实现与 Claim 配置,不能假设跨系统天然一致
  • C. 出现“用户数据库有角色但令牌未包含导致 403”时,应收集证据并同时核对主规则与适用边界。
  • D. 角色会自动从数据库表名推断,无需加载到 Principal
查看答案与解析

正确答案D

题目要求选出不成立的说法,答案“角色会自动从数据库表名推断,无需加载到 Principal”正是 角色授权 的典型误区。其余三项分别给出了主规则“RequireRole 或 Roles 检查 ClaimsPrincipal 的角色 Claim”、适用边界“角色名称和大小写行为取决于身份实现与 Claim 配置,不能假设跨系统天然一致”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0548 针对“用户数据库有角色但令牌未包含导致 403”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“RequireRole 或 Roles 检查 ClaimsPrincipal 的角色 Claim”修正实现,并用测试或遥测验证“角色名称和大小写行为取决于身份实现与 Claim 配置,不能假设跨系统天然一致”。
  • B. 按“角色会自动从数据库表名推断,无需加载到 Principal”修改实现,并把一次请求成功作为验收结果。
  • C. 按“RequireRole 或 Roles 检查 ClaimsPrincipal 的角色 Claim”修改代码后直接上线,不验证“角色名称和大小写行为取决于身份实现与 Claim 配置,不能假设跨系统天然一致”。
  • D. 只验证“角色名称和大小写行为取决于身份实现与 Claim 配置,不能假设跨系统天然一致”,但实现仍继续依赖“角色会自动从数据库表名推断,无需加载到 Principal”。
查看答案与解析

正确答案A

完整决策同时覆盖规则与验证:RequireRole 或 Roles 检查 ClaimsPrincipal 的角色 Claim;并确认 角色名称和大小写行为取决于身份实现与 Claim 配置,不能假设跨系统天然一致。继续接受“角色会自动从数据库表名推断,无需加载到 Principal”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“用户数据库有角色但令牌未包含导致 403”这一生产场景能否安全上线。

0549 在 资源授权 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. 路由中资源 ID 与当前用户 ID 不同就一定应拒绝所有共享场景
  • B. 必须先可靠加载资源并避免 IDOR,Handler 中也要考虑资源不存在和租户边界
  • C. 资源型授权在加载具体资源后判断当前用户能否对它执行操作
  • D. 观察到“协作者无法编辑已授权共享文档”即可把一次现象当成完整框架契约。
查看答案与解析

正确答案C

正确答案直接描述 资源授权 的主规则:资源型授权在加载具体资源后判断当前用户能否对它执行操作。选项“必须先可靠加载资源并避免 IDOR,Handler 中也要考虑资源不存在和租户边界”是使用规则时要验证的边界,不是规则本身;“路由中资源 ID 与当前用户 ID 不同就一定应拒绝所有共享场景”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0550 协作者无法编辑已授权共享文档。排查时哪项动作最合理?

难度: 进阶

  • A. 直接按“路由中资源 ID 与当前用户 ID 不同就一定应拒绝所有共享场景”定性,不再检查配置、身份或运行时证据。
  • B. 先验证“必须先可靠加载资源并避免 IDOR,Handler 中也要考虑资源不存在和租户边界”,再依据“资源型授权在加载具体资源后判断当前用户能否对它执行操作”判断实现是否符合契约。
  • C. 只增加重试次数或机器资源,暂不核对“必须先可靠加载资源并避免 IDOR,Handler 中也要考虑资源不存在和租户边界”。
  • D. 以一次成功请求作为结论,不再确认“资源型授权在加载具体资源后判断当前用户能否对它执行操作”是否成立。
查看答案与解析

正确答案B

场景“协作者无法编辑已授权共享文档”指向 资源授权,但症状本身不能证明根因。正确排查应先确认边界“必须先可靠加载资源并避免 IDOR,Handler 中也要考虑资源不存在和租户边界”,再用主规则“资源型授权在加载具体资源后判断当前用户能否对它执行操作”解释证据。直接采用误区“路由中资源 ID 与当前用户 ID 不同就一定应拒绝所有共享场景”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0551 关于 资源授权,以下哪项说法不成立?

难度: 实战

  • A. 路由中资源 ID 与当前用户 ID 不同就一定应拒绝所有共享场景
  • B. 资源型授权在加载具体资源后判断当前用户能否对它执行操作
  • C. 必须先可靠加载资源并避免 IDOR,Handler 中也要考虑资源不存在和租户边界
  • D. 出现“协作者无法编辑已授权共享文档”时,应收集证据并同时核对主规则与适用边界。
查看答案与解析

正确答案A

题目要求选出不成立的说法,答案“路由中资源 ID 与当前用户 ID 不同就一定应拒绝所有共享场景”正是 资源授权 的典型误区。其余三项分别给出了主规则“资源型授权在加载具体资源后判断当前用户能否对它执行操作”、适用边界“必须先可靠加载资源并避免 IDOR,Handler 中也要考虑资源不存在和租户边界”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0552 针对“协作者无法编辑已授权共享文档”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“路由中资源 ID 与当前用户 ID 不同就一定应拒绝所有共享场景”修改实现,并把一次请求成功作为验收结果。
  • B. 按“资源型授权在加载具体资源后判断当前用户能否对它执行操作”修改代码后直接上线,不验证“必须先可靠加载资源并避免 IDOR,Handler 中也要考虑资源不存在和租户边界”。
  • C. 只验证“必须先可靠加载资源并避免 IDOR,Handler 中也要考虑资源不存在和租户边界”,但实现仍继续依赖“路由中资源 ID 与当前用户 ID 不同就一定应拒绝所有共享场景”。
  • D. 按“资源型授权在加载具体资源后判断当前用户能否对它执行操作”修正实现,并用测试或遥测验证“必须先可靠加载资源并避免 IDOR,Handler 中也要考虑资源不存在和租户边界”。
查看答案与解析

正确答案D

完整决策同时覆盖规则与验证:资源型授权在加载具体资源后判断当前用户能否对它执行操作;并确认 必须先可靠加载资源并避免 IDOR,Handler 中也要考虑资源不存在和租户边界。继续接受“路由中资源 ID 与当前用户 ID 不同就一定应拒绝所有共享场景”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“协作者无法编辑已授权共享文档”这一生产场景能否安全上线。

0553 在 ClaimsTransformation 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. ClaimsTransformation 在整个进程生命周期只执行一次
  • B. 它可能被多次调用,转换应幂等并避免每次重复添加 Claim 或昂贵查库
  • C. 观察到“同一身份出现大量重复角色 Claim”即可把一次现象当成完整框架契约。
  • D. IClaimsTransformation 可在认证后补充或转换 Claims
查看答案与解析

正确答案D

正确答案直接描述 ClaimsTransformation 的主规则:IClaimsTransformation 可在认证后补充或转换 Claims。选项“它可能被多次调用,转换应幂等并避免每次重复添加 Claim 或昂贵查库”是使用规则时要验证的边界,不是规则本身;“ClaimsTransformation 在整个进程生命周期只执行一次”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0554 同一身份出现大量重复角色 Claim。排查时哪项动作最合理?

难度: 进阶

  • A. 先验证“它可能被多次调用,转换应幂等并避免每次重复添加 Claim 或昂贵查库”,再依据“IClaimsTransformation 可在认证后补充或转换 Claims”判断实现是否符合契约。
  • B. 直接按“ClaimsTransformation 在整个进程生命周期只执行一次”定性,不再检查配置、身份或运行时证据。
  • C. 只增加重试次数或机器资源,暂不核对“它可能被多次调用,转换应幂等并避免每次重复添加 Claim 或昂贵查库”。
  • D. 以一次成功请求作为结论,不再确认“IClaimsTransformation 可在认证后补充或转换 Claims”是否成立。
查看答案与解析

正确答案A

场景“同一身份出现大量重复角色 Claim”指向 ClaimsTransformation,但症状本身不能证明根因。正确排查应先确认边界“它可能被多次调用,转换应幂等并避免每次重复添加 Claim 或昂贵查库”,再用主规则“IClaimsTransformation 可在认证后补充或转换 Claims”解释证据。直接采用误区“ClaimsTransformation 在整个进程生命周期只执行一次”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0555 关于 ClaimsTransformation,以下哪项说法不成立?

难度: 实战

  • A. IClaimsTransformation 可在认证后补充或转换 Claims
  • B. 它可能被多次调用,转换应幂等并避免每次重复添加 Claim 或昂贵查库
  • C. ClaimsTransformation 在整个进程生命周期只执行一次
  • D. 出现“同一身份出现大量重复角色 Claim”时,应收集证据并同时核对主规则与适用边界。
查看答案与解析

正确答案C

题目要求选出不成立的说法,答案“ClaimsTransformation 在整个进程生命周期只执行一次”正是 ClaimsTransformation 的典型误区。其余三项分别给出了主规则“IClaimsTransformation 可在认证后补充或转换 Claims”、适用边界“它可能被多次调用,转换应幂等并避免每次重复添加 Claim 或昂贵查库”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0556 针对“同一身份出现大量重复角色 Claim”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“ClaimsTransformation 在整个进程生命周期只执行一次”修改实现,并把一次请求成功作为验收结果。
  • B. 按“IClaimsTransformation 可在认证后补充或转换 Claims”修正实现,并用测试或遥测验证“它可能被多次调用,转换应幂等并避免每次重复添加 Claim 或昂贵查库”。
  • C. 按“IClaimsTransformation 可在认证后补充或转换 Claims”修改代码后直接上线,不验证“它可能被多次调用,转换应幂等并避免每次重复添加 Claim 或昂贵查库”。
  • D. 只验证“它可能被多次调用,转换应幂等并避免每次重复添加 Claim 或昂贵查库”,但实现仍继续依赖“ClaimsTransformation 在整个进程生命周期只执行一次”。
查看答案与解析

正确答案B

完整决策同时覆盖规则与验证:IClaimsTransformation 可在认证后补充或转换 Claims;并确认 它可能被多次调用,转换应幂等并避免每次重复添加 Claim 或昂贵查库。继续接受“ClaimsTransformation 在整个进程生命周期只执行一次”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“同一身份出现大量重复角色 Claim”这一生产场景能否安全上线。

0557 在 权限缓存 的框架契约中,哪项是应直接依赖的主规则?

难度: 基础

  • A. 把用户权限缓存可降低查询成本,但更新传播和撤销会产生一致性窗口
  • B. 权限缓存可以永久保存,因为角色极少变化
  • C. 缓存键要包含租户、用户和权限版本,敏感撤销需设计主动失效或短 TTL
  • D. 观察到“移除权限后用户仍长时间可操作”即可把一次现象当成完整框架契约。
查看答案与解析

正确答案A

正确答案直接描述 权限缓存 的主规则:把用户权限缓存可降低查询成本,但更新传播和撤销会产生一致性窗口。选项“缓存键要包含租户、用户和权限版本,敏感撤销需设计主动失效或短 TTL”是使用规则时要验证的边界,不是规则本身;“权限缓存可以永久保存,因为角色极少变化”则是会导致错误实现的典型误区。场景只能提供线索,不能替代框架契约。

0558 移除权限后用户仍长时间可操作。排查时哪项动作最合理?

难度: 进阶

  • A. 直接按“权限缓存可以永久保存,因为角色极少变化”定性,不再检查配置、身份或运行时证据。
  • B. 先验证“缓存键要包含租户、用户和权限版本,敏感撤销需设计主动失效或短 TTL”,再依据“把用户权限缓存可降低查询成本,但更新传播和撤销会产生一致性窗口”判断实现是否符合契约。
  • C. 只增加重试次数或机器资源,暂不核对“缓存键要包含租户、用户和权限版本,敏感撤销需设计主动失效或短 TTL”。
  • D. 以一次成功请求作为结论,不再确认“把用户权限缓存可降低查询成本,但更新传播和撤销会产生一致性窗口”是否成立。
查看答案与解析

正确答案B

场景“移除权限后用户仍长时间可操作”指向 权限缓存,但症状本身不能证明根因。正确排查应先确认边界“缓存键要包含租户、用户和权限版本,敏感撤销需设计主动失效或短 TTL”,再用主规则“把用户权限缓存可降低查询成本,但更新传播和撤销会产生一致性窗口”解释证据。直接采用误区“权限缓存可以永久保存,因为角色极少变化”、只扩容或依赖一次成功都会掩盖真实配置和请求路径。

0559 关于 权限缓存,以下哪项说法不成立?

难度: 实战

  • A. 把用户权限缓存可降低查询成本,但更新传播和撤销会产生一致性窗口
  • B. 缓存键要包含租户、用户和权限版本,敏感撤销需设计主动失效或短 TTL
  • C. 权限缓存可以永久保存,因为角色极少变化
  • D. 出现“移除权限后用户仍长时间可操作”时,应收集证据并同时核对主规则与适用边界。
查看答案与解析

正确答案C

题目要求选出不成立的说法,答案“权限缓存可以永久保存,因为角色极少变化”正是 权限缓存 的典型误区。其余三项分别给出了主规则“把用户权限缓存可降低查询成本,但更新传播和撤销会产生一致性窗口”、适用边界“缓存键要包含租户、用户和权限版本,敏感撤销需设计主动失效或短 TTL”以及面向场景的正确取证方式,不能因为题干使用否定问法而反选这些有效结论。

0560 针对“移除权限后用户仍长时间可操作”进行上线评审,哪项决策依据最完整?

难度: 实战

  • A. 按“权限缓存可以永久保存,因为角色极少变化”修改实现,并把一次请求成功作为验收结果。
  • B. 按“把用户权限缓存可降低查询成本,但更新传播和撤销会产生一致性窗口”修改代码后直接上线,不验证“缓存键要包含租户、用户和权限版本,敏感撤销需设计主动失效或短 TTL”。
  • C. 只验证“缓存键要包含租户、用户和权限版本,敏感撤销需设计主动失效或短 TTL”,但实现仍继续依赖“权限缓存可以永久保存,因为角色极少变化”。
  • D. 按“把用户权限缓存可降低查询成本,但更新传播和撤销会产生一致性窗口”修正实现,并用测试或遥测验证“缓存键要包含租户、用户和权限版本,敏感撤销需设计主动失效或短 TTL”。
查看答案与解析

正确答案D

完整决策同时覆盖规则与验证:把用户权限缓存可降低查询成本,但更新传播和撤销会产生一致性窗口;并确认 缓存键要包含租户、用户和权限版本,敏感撤销需设计主动失效或短 TTL。继续接受“权限缓存可以永久保存,因为角色极少变化”会让评审依据失真;只改代码不验证边界,或只检查边界却沿用误区,都不足以判断“移除权限后用户仍长时间可操作”这一生产场景能否安全上线。

官方资料

当前分类

ASP.NET Core 选择题

查看全部分类 →
  1. 26ASP.NET Core 试题 26:JWT Bearer 认证20 题
  2. 27ASP.NET Core 试题 27:策略授权20 题
  3. 28ASP.NET Core 试题 28:Claims、角色与资源授权20 题
  4. 29ASP.NET Core 试题 29:ASP.NET Core Identity20 题
  5. 30ASP.NET Core 试题 30:Data Protection20 题
ESC

输入关键词开始搜索