Skip to content

WP4a · 管理中心·组织管理(成员/角色/用户组,角色门控) #14

@JIAQIA

Description

@JIAQIA

父 Story:#7(M1 入口级交付 · webui)。WP4a。Blocked by #9(导航骨架)。红线:示例数据脱敏占位。

⚠ 前序修正(对齐 canonical · 见 #9

canonical(主仓 prototype/components/sidebar.tsx)中**「组织管理」是独立 L1**(id: org-admin,租户自治),折叠进「管理中心」。本 issue 据此修正:

  • 本刀 = 组织管理(独立 L1) 的成员/角色/用户组页 + 角色门控,挂在管理中心下。
  • 「管理中心」是另一个模块(canonical L1:数据源管理 + 基础配置〔标签/逻辑类型映射/告警〕),与组织管理无关,本拆分未覆盖其页面 → 覆盖缺口,待 taxonomy 冻结后另立页面刀(归 WP3 同形)。

目标

「组织管理」L1 下成员 / 角色 / 用户组三区段,按 Keycloak 角色门控。属使用平面租户自管理(D:「租户自管理 ≠ admin」),非跨租户运营。

范围(文件清单)

  • apps/console/src/modules/org/{members,roles,groups}/<M>Page.tsx + .stories.tsx(ProTable)。路由 /settings/{users,roles,user-groups}(对齐 canonical href)。
  • 路由/菜单门控:usePermission / RequireRole(JWT X-Roles@hashmatrix/sdk 已就绪)。
  • apps/console/src/mocks/*:成员/角色/用户组 msw 数据(脱敏占位)。
  • apps/console/src/i18n/locales/*:叶子串(typed)。

起点(精确路径 · 真/stub/缺失)

  • 门控原语 ROLES/usePermission/RequireRole 已就绪
  • 页面模板:镜像 apps/admin/src/modules/* 的 page+story+ProTable 模式(canonical 引用的 prototype/app/settings/* 在 webui 仓外,从 admin 模式建)。

预估 LOC

~280

测试 / DoD

  • 角色门控 story(有/无角色两态);无权限时菜单隐藏 + 路由守卫兜底。
  • lint / vitest / storybook-playwright / build 绿。

依赖

验收

  • 组织管理(独立 L1)三区段(成员/角色/用户组)可演示。
  • 无角色时菜单隐藏 + 路由级守卫。
  • 守护「租户自管理 ≠ admin」:代码留 apps/console不混跨租户运营。
  • CI 绿。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions