Files
starRiverProperty/docs/testing/release-visitor-noauth-verify/访客无鉴权策略验证-生产操作手册.md
T
反编译工作区 8b15445328 feat: add service config templates and extraction script
Former-commit-id: 1de24b7eb79676d1aba9d799a58c5a753290cf52
2026-05-01 19:38:01 +08:00

4.3 KiB
Raw Blame History

访客无鉴权策略验证-生产操作手册

1. 文档目的

本手册用于生产环境执行以下验证并留痕:

  • 无鉴权模式下调用访客相关接口,确认是否存在放开风险。
  • 验证“黄平(访客)访问蒙海文(被访人)”是否触发访客楼层策略。
  • 输出可审计报告(JSON)用于归档与发布。

本手册基于已确认信息:

  • 被访人(蒙海文)personId=964454497399468032
  • 访客(黄平)personId=1102270499947507712
  • 租户 businessId=2524639890ba4f2cba9ba1a4eeaa4015

2. 目录与交付件

本发布包目录:

  • docs/testing/release-visitor-noauth-verify/访客无鉴权策略验证-生产操作手册.md
  • docs/testing/release-visitor-noauth-verify/黄平访客ID手工查询.sql

执行脚本(仓库已有,已按无鉴权流程更新):

  • maven-cw-elevator-application/tools/visitor_floor_verification/scripts/quick_verify_visitor_floor_policy.py

3. 验证范围

本次仅验证以下调用链:

  1. POST /component/person/detail
  2. POST /elevator/person/add/visitor
  3. POST /elevator/passRule/image

请求模式:

  • noauth-probe(不传 Authorization/loginid/platformuserid/applicationid
  • 可选保留 businessid 头:--probe-with-businessid

4. 前置条件

4.1 运行环境

  • 可访问生产网络的 Linux 主机
  • Python 3.8+
  • 已拉取本仓库代码

4.2 依赖安装

cd maven-cw-elevator-application/tools/visitor_floor_verification
python3 -m pip install -r requirements.txt

5. 参数基线

建议使用以下固定参数:

  • org-base-urlhttp://10.0.22.207:8089(按现场网关/portal入口可调整)
  • elevator-base-urlhttp://10.0.22.207:16112
  • business-id2524639890ba4f2cba9ba1a4eeaa4015
  • meng-person-id964454497399468032
  • visitor-person-id1102270499947507712

说明:

  • 当前脚本内置默认 --meng-person-id=964454497399468032,可不显式传参。

6. 标准执行命令

python3 maven-cw-elevator-application/tools/visitor_floor_verification/scripts/quick_verify_visitor_floor_policy.py \
  --mode noauth-probe \
  --org-base-url "http://10.0.22.207:8089" \
  --elevator-base-url "http://10.0.22.207:16112" \
  --business-id "2524639890ba4f2cba9ba1a4eeaa4015" \
  --visitor-person-id "1102270499947507712" \
  --probe-with-businessid

7. 输出与结果判定

脚本终端会输出:

  • mode
  • grade
  • summary
  • report(报告文件路径)
  • add_visitor_status/code
  • passrule_image_status/code

报告文件输出目录:

  • maven-cw-elevator-application/tools/visitor_floor_verification/report/quick-verify-<timestamp>.json

7.1 关键判定规则

A. 无鉴权风险判定(noauth-probe

  • grade=high_riskadd/visitor 在无鉴权下业务成功,判定高风险放开。
  • grade=expected_block:返回 401/403,判定符合安全预期。
  • grade=needs_review:非拦截但未成功,需人工复核网关策略。

B. 策略触发判定

  • add/visitor 成功,且 passRule/image 回读到楼层数据,判定策略触发成功。
  • add/visitor 返回 76260532,表示策略求交为空(策略生效但无可放行楼层)。

8. 黄平访客ID手工复核

可执行以下命令打印 SQL 模板:

python3 maven-cw-elevator-application/tools/visitor_floor_verification/scripts/quick_verify_visitor_floor_policy.py \
  --print-visitor-sql-only \
  --org-base-url "http://10.0.22.207:8089" \
  --elevator-base-url "http://10.0.22.207:16112" \
  --visitor-person-id "dummy"

或直接使用本包 SQL 文件:

  • docs/testing/release-visitor-noauth-verify/黄平访客ID手工查询.sql

9. 发布归档建议

建议将以下文件打包归档:

  1. 本操作手册
  2. SQL 文件
  3. 实际执行命令记录
  4. quick-verify-<timestamp>.json 报告
  5. 关键日志截图(含执行时间与业务码)

建议包名:

  • visitor-noauth-verify-<yyyyMMdd-HHmm>.zip

10. 风险提示

  • 本流程为生产探测,务必在低峰窗口执行。
  • 无鉴权探测若成功,属于安全风险项,应立即同步网关/服务鉴权负责人处理。
  • 所有返回结果以现场实际响应为准,需保留原始响应证据。