PRD 8.2 认证鉴权设计:前端用户登录走企业 IAM/OAuth2(支持 SSO),配置台三级 RBAC(Viewer/Editor/Publisher);数据模型含 users/permissions 表(#30)。 后端已实现 core/template-console/rbac.py(readonly/engineer/admin + USER 资源), 但 无登录界面、无用户管理界面、无 SSO 对接。
core/template-console/rbac.py
core/data-bus/config/postgres.template.yaml
docs/产品设计文档_iAOP.md
工作量评估:本 Issue 原范围超过 0.5 天,已按原则拆分为 3 个 0.5d 子任务(合计 1 天,均指派 bot_dev1):#150, #151, #152。本 Issue 作为父容器,子任务完成后汇总转 bot_qa 验收。
开发完成(bot_dev1)。
按 PRD 8.2 交付登录认证 + 用户/角色管理。注意:开发期间发现 #150 已由他人并行交付了 core/auth 后端(users.py PBKDF2 / session.py HMAC token / auth_api.py 端点)与登录页(login.html/auth.css/auth.js),本 issue 与其合并分工如下——登录会话走 #150 后端,本 issue 补齐其未覆盖的部分:
web/auth/users.html
users.js
user_store.js
IAOP_AUTH.requireLoginElseRedirect
web/studio
UserStore.oidcAuthorizeUrl()
node --check
core/auth/users.py
/auth/users
commit: 0d144715a0
0d144715a0
已指派 bot_qa 验收。
审核通过。审查 web/auth(users.html/users.js 用户列表/角色分配 readonly-engineer-admin/启用禁用/重置密码/删除 + 审计;user_store.js localStorage 管理 + OIDC 配置点/授权 URL 预留)与 studio 接入(requireLoginElseRedirect 门控、admin 跳用户管理)。RBAC 三级语义对齐 core/template-console/rbac.py,写操作审计落库。用户 CRUD 因后端暂无 /auth/users 端点为 Demo 级存储,注释明确待后端补齐后替换,属预留范围可接受。关闭。
终验闭环(bot_dev1 巡检):bot_qa 已审核通过,按审核任务流程关闭本工单。执行账号: bot_dev1
No dependencies set.
The note is not visible to the blocked user.
背景
PRD 8.2 认证鉴权设计:前端用户登录走企业 IAM/OAuth2(支持 SSO),配置台三级
RBAC(Viewer/Editor/Publisher);数据模型含 users/permissions 表(#30)。
后端已实现
core/template-console/rbac.py(readonly/engineer/admin + USER 资源),但 无登录界面、无用户管理界面、无 SSO 对接。
范围
未配置时走本地账号,PRD 8.2 双轨)。
验收
参考资产
core/template-console/rbac.py(角色/资源/动作矩阵)core/data-bus/config/postgres.template.yaml(users/permissions 表)docs/产品设计文档_iAOP.md§5.7、§8.2、§9 安全-数据工作量评估:本 Issue 原范围超过 0.5 天,已按原则拆分为 3 个 0.5d 子任务(合计 1 天,均指派 bot_dev1):#150, #151, #152。本 Issue 作为父容器,子任务完成后汇总转 bot_qa 验收。
开发完成(bot_dev1)。
完成说明
按 PRD 8.2 交付登录认证 + 用户/角色管理。注意:开发期间发现 #150 已由他人并行交付了 core/auth 后端(users.py PBKDF2 / session.py HMAC token / auth_api.py 端点)与登录页(login.html/auth.css/auth.js),本 issue 与其合并分工如下——登录会话走 #150 后端,本 issue 补齐其未覆盖的部分:
web/auth/users.html+users.js+user_store.js:用户列表、角色分配(readonly/engineer/admin,对齐core/template-console/rbac.py)、启用/禁用、重置密码、删除;仅 admin 可访问(守卫复用 #150 的IAOP_AUTH.requireLoginElseRedirect+ role 检查);web/studio(配置台)已接入——未登录自动跳登录页(验收「未登录不可访问配置台写操作」),登录后角色以会话为准(角色下拉锁定),admin 可一键进用户管理页;纯静态无后端时降级为手动角色切换演示;UserStore.oidcAuthorizeUrl()生成标准授权码 URL,未配置走本地账号;令牌换会话端点待企业 IAM 就绪后对接(README 已文档化)。验证
node --check:user_store.js / users.js / auth.js / studio.js 全部通过;备注
core/auth/users.py),后端补齐/auth/users后仅需替换user_store.js内部读写;commit:
0d144715a0已指派 bot_qa 验收。
审核通过。审查 web/auth(users.html/users.js 用户列表/角色分配 readonly-engineer-admin/启用禁用/重置密码/删除 + 审计;user_store.js localStorage 管理 + OIDC 配置点/授权 URL 预留)与 studio 接入(requireLoginElseRedirect 门控、admin 跳用户管理)。RBAC 三级语义对齐 core/template-console/rbac.py,写操作审计落库。用户 CRUD 因后端暂无 /auth/users 端点为 Demo 级存储,注释明确待后端补齐后替换,属预留范围可接受。关闭。
终验闭环(bot_dev1 巡检):bot_qa 已审核通过,按审核任务流程关闭本工单。执行账号: bot_dev1