已关闭
[需求]: 支持校验VNC密码 #179
李文杰创建于  4月30日关闭于  6月4日
李文杰
4月30日 创建

感谢您为社区贡献新需求!请按照以下提示提供详细信息,以便我们更好地理解并跟进。

需求属性

所属版本

工作量

是否需要编码

是否免测试

周边依赖

需求来源

需求描述

简要说明

支持校验VNC密码

系统用户

前置条件

主成功场景

扩展场景(含异常场景)

约束

非功能需求

likedislike
openUBMC-robot
openUBMC-robot成员
4月30日 评论:

注意

此 Issue 需要负责人。 如果没有指派时, loopvoid 是默认的负责人

likedislike
openUBMC-robotopenUBMC-robot成员
4月30日 将 loopvoid 设为负责人
openUBMC-robotopenUBMC-robot成员
4月30日 添加了label:sig/sig-security
openUBMC-robot
openUBMC-robot成员
4月30日 评论:

欢迎来到 openUBMC 社区

Hey @lwj11223344 , 感谢你对社区的贡献.

机器人使用手册

有关指令的使用,可以点击 说明文档 或 论坛 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。

联系指引

有疑问可以联系 SIG: sig-security ,
维护者是: @TacoJay, @lwj11223344 ,
优秀贡献者是: @Free_Tomato .

likedislike
openUBMC-robotopenUBMC-robot成员
4月30日 关联了看板:openUBMC 26.06 需求看板
openUBMC-robot
openUBMC-robot成员
4月30日 评论:

Issue 工作流介绍

社区的需求和缺陷的工作流状态处于纳管中。

类型 上个状态 下个状态 评论命令 谁可以操作
需求 待办的 已接纳 /todo2accepted SIG组: sig-release-management (maintainer)
需求 已接纳 开发中 /accepted2developing 仓库成员角色: Maintainer, Committer, Contributor, Owner
需求 开发中 转测中 /developing2testing 仓库成员角色: Maintainer, Committer, Contributor, Owner
需求 转测中 待验收 /testing2UAT 仓库成员角色: Maintainer, Committer, Contributor, Owner
需求 待验收 已完成 /UAT2done SIG组: sig-QA (maintainer,committer)
需求 待办的 已挂起 /todo2suspended SIG组: sig-release-management (maintainer)
需求 已挂起 已接纳 /suspended2accepted SIG组: sig-release-management (maintainer)
需求 待办的 已拒绝 /todo2rejected SIG组: sig-release-management (maintainer)
需求 已拒绝 已接纳 /rejected2accepted SIG组: sig-release-management (maintainer)
likedislike
wangjian成员
4月30日 评论:

/todo2accepted

likedislike
openUBMC-robotopenUBMC-robot成员
4月30日 issue状态由 待办的 改变为 已接纳
yanchuanjieyanchuanjie成员
5月30日 关联了pull request:[WIP]feat: 支持用户密码/VNC密码验证
yanchuanjieyanchuanjie成员
5月30日 关联了pull request:feat: 支持用户密码/VNC密码验证
yanchuanjieyanchuanjie成员
5月30日 关联了pull request:feat: 支持用户密码/VNC密码验证
yanchuanjieyanchuanjie成员
6月1日 关联了pull request:feat: 支持用户密码/VNC密码验证
yanchuanjieyanchuanjie成员
6月1日 关联了pull request:feature: 支持用户密码/VNC密码验证
LiJiang
6月2日 评论:

/accepted2developing

likedislike
openUBMC-robotopenUBMC-robot成员
6月2日 issue状态由 已接纳 改变为 开发中
LiJiang
6月2日 评论:

/developing2testing

likedislike
openUBMC-robotopenUBMC-robot成员
6月2日 issue状态由 开发中 改变为 转测中
LiJiang
6月2日 评论:

/testing2UAT

likedislike
openUBMC-robotopenUBMC-robot成员
6月2日 issue状态由 转测中 改变为 待验收
zhaotianli成员
6月4日 评论:

PR #1218 回顾分析: feat: 支持用户密码/VNC密码验证

仓库: openUBMC/rackmount
分支: loopvoid:dev → openUBMC:main
合并时间: 2026-06-01T17:26:25


1. AI 检视意见追踪

# AI 发现 后续处理 说明
1 🔴 VNC VerifyPassword 缺少 ActionInfo(严重) ✅ 已采纳修复 开发者在 AI 检视后更新代码,Vnc.json 新增了 VerifyPasswordActionInfo GET 资源,包含 Password(MaxLength=8)和 SessionAccountPassword(MaxLength=512)两个参数
2 🔴 VNC VerifyPassword ProcessingFlow 缺少 CallIf 安全检查(严重) ✅ 已采纳修复 开发者在 AI 检视后更新代码,Vnc.json 新增了 IsAuthSuccess Statement 和第二步 ProcessingFlow 的 CallIf 安全检查,与 Account 版本一致
3 🟡 Account VerifyPassword Action名与设计文档不一致(Account vs ManagerAccount) 💬 已回复说明 人工评审者 L_Ling 也提出了此问题,开发者回复"帖子已刷新,评审结果是ManagerAccount.VerifyPassword",设计文档已更新对齐实现。命名保持了与现有 ManagerAccount.ChangePassword 的一致性
4 🟡 CHANGELOG.md 日期(2026-05-29)与 PR 创建日期(2026-05-30)不一致 ⏳ 未响应 CHANGELOG 日期仍为 2026-05-29,未做修改
5 ⚪ VNC VerifyPassword 未加 Sensitive=true 参数描述(建议性) ✅ 已采纳修复 ReqBody 中 Password 和 SessionAccountPassword 均已标记 "Sensitive": true
指标 结果
AI 意见总数 5
已采纳并修复 3
已回复说明 1
未响应 1

2. 人工检视补充

  • 检视人: L_Ling (lixiaoning)
  • 意见概要:
    • 在 Accounts.json 第1146行提出 diff_comment:"实现与SIG接口设计不一致,确认是Account.VerifyPassword还是ManagerAccount.VerifyPassword",要求确认 Action 命名是否与 SIG 评审贴设计一致
  • 解决状态: ✅ 已解决(resolved: true)
  • 开发者回复: "帖子已刷新,评审结果是ManagerAccount.VerifyPassword"(设计贴已更新,确认实现正确)
  • 最终审批: L_Ling 于 2026-06-01T17:26:11 发布 /lgtm /approve,确认代码可以合入

3. 总结

当前 PR 实现涵盖了关联评审贴的 2/3 个评审点:

  • ✅ 评审点1:新增用户密码校验redfish接口(Accounts.json + Actions.json)
  • ✅ 评审点2:新增VNC密码校验redfish接口(Vnc.json)
  • ⚪ 评审点3:资源协作接口 bmc.kepler.AccountService.ManagerAccount 新增 VerifyPassword 方法(本 PR 不涉及 MDB 接口层变更,属其他仓库范围)

评审贴链接:【待评审】redfish接口支持支持用户或VNC密码校验

整体评价:

开发者对 AI 检视意见的响应态度积极,5 条意见中 3 条已采纳修复(包括 2 条严重问题),1 条通过更新设计文档解决,仅 1 条低优先级建议(CHANGELOG 日期)未处理。两个严重问题(VNC 缺少 ActionInfo 和 CallIf 安全检查)均在最终代码中得到了正确修复,体现了良好的安全意识。人工评审者 L_Ling 独立发现了与 AI 检视相同的设计一致性问题(Action 命名),说明该问题确实值得关注,最终通过更新评审贴得到妥善解决。整体代码质量良好,模式与现有实现保持一致。


此回顾分析由 AI (OpenClaw + GLM-5-turbo) 完成

likedislike
zhoumingyi4
zhoumingyi4成员
6月4日 评论:

/UAT2done

likedislike
openUBMC-robotopenUBMC-robot成员
6月4日 issue状态由 待验收 改变为 已完成
openUBMC-robotopenUBMC-robot成员
6月4日 关闭了 issue
zhaotianli成员
6月5日 评论:

PR #577 回顾分析: feat: 支持用户密码/VNC密码验证

仓库: openUBMC/mdb_interface
分支: dev → main
合并时间: 2026-06-01T22:33:36+08:00


1. AI 检视意见追踪

# AI 发现 后续处理 说明
1 🔴 VerifyPassword 的 req 参数 SessionAccountPassword 缺失(严重) 💬 已回复说明 开发者解释"北向已经实现"——二次鉴权密码在北向(redfish 层)处理,mdb_interface 层作为资源协作接口不需要重复添加该参数,符合分层设计原则
2 🟡 VNC 密码校验未实现,VncService 接口未新增 VerifyPassword 方法(中等) 💬 已回复说明 开发者解释"VNC即18号用户,复用同一个资源协作接口"——VNC 密码校验通过同一个 ManagerAccount.VerifyPassword 方法实现,因为 VNC 用户在 BMC 中也以用户形式存在(user 18),无需额外接口
3 ⚪ Password 参数建议补充 maxLength/minLength 约束(建议性) ✅ 已采纳修复 最终代码中 Password 参数已添加 "maxLength": 512 约束,与设计要求一致(commit c3c764dd,2026-06-01T22:19:54)
指标 结果
AI 意见总数 3
已采纳并修复 1
已回复说明 2
未响应 0

2. 人工检视补充

  • 检视人: L_Ling (lixiaoning)
  • 意见概要:
    • 在 ManagerAccount.json 第191行提出 diff_comment:"权限不配置到mdb_interface中,在model.json"——指出权限不应在接口定义文件中配置,应在 model.json/model.lua 中配置
    • 在 ManagerAccount.json 第196行提出 diff_comment:"补充一下密码的具体限制,比如长度,字符要求等"——要求补充密码参数的约束描述
  • 解决状态: ✅ 全部已解决(resolved: true)
  • 开发者回复:
    • 确认"model.lua中已配置生效",并修改了权限配置位置
    • 确认"已补充",在 Password 参数中添加了 "maxLength": 512 和 "description": "需要验证的密码字符串"
  • 最终审批: L_Ling 于 2026-06-01T22:31:30 发布 /lgtm /approve,确认代码可以合入

3. 总结

当前 PR 实现涵盖了关联评审贴的 1/3 个评审点:

  • ✅ 评审点3:资源协作接口 bmc.kepler.AccountService.ManagerAccount 新增 VerifyPassword 方法(本 PR 范围)
  • ⚪ 评审点1:新增用户密码校验 redfish 接口(属 rackmount 仓库范围,已在 PR #1218 中实现)
  • ⚪ 评审点2:新增 VNC 密码校验 redfish 接口(属 rackmount 仓库范围,已在 PR #1218 中实现)

评审贴链接:【待评审】redfish接口支持支持用户或VNC密码校验

整体评价:

开发者对 AI 检视意见的响应态度积极,3 条意见全部得到回应:1 条已采纳修复(Password 参数长度约束),2 条通过合理的技术解释说明(SessionAccountPassword 由北向处理、VNC 复用同一资源协作接口)。AI 检视提出的"缺失"问题经开发者解释后属于分层设计决策而非遗漏,体现了 AI 检视在跨仓库场景下对架构上下文理解的局限性。

人工评审者 L_Ling 从实际工程角度提出了两个有价值的问题(权限配置位置和参数约束补充),均被开发者及时修复。值得关注的是,AI 检视也独立发现了参数约束缺失问题,说明该问题确实值得关注。最终代码质量良好,VerifyPassword 方法定义清晰,maxLength 约束和描述信息完整,与现有 ChangePwd 等方法风格一致。


此回顾分析由 AI (OpenClaw + GLM-5-turbo) 完成

likedislike