用户、角色与运行页权限
Theseus 中的账号分属不同边界。应用用户用于运行页,不等于编辑器登录或 Runtime target 管理员。
何时查这页
- 不确定应该创建 app 用户还是 Runtime target 用户。
- 需要限制某个 Page 或 widget 只对特定岗位显示。
- 运行页要求登录,或用户登录后仍看不到页面。
- 准备客户交付前检查默认账号和权限。
三类账号
| 账号 | 用途 | 管理入口 |
|---|---|---|
| Editor Qixin 账号 | 启心代码管理、在线许可证、AI 权益和云服务 | 应用中心左下角账号菜单、系统设置 |
| Runtime target 账户 | 进入目标运行端;Admin 可部署、调试、停止和管理目标 | 系统设置 → Runtime → 用户管理 |
| 应用用户 | 登录某个 app 的运行页,并按角色访问 Page/widget | app 编辑器 Settings → 用户 / 角色 |
三类账号不会自动互相授权。连接了 Runtime target,不代表已经获得某个 app 的页面权限。
实际入口
- 角色和应用用户:Settings → 用户 / 角色。
- Page 权限:打开 Page,选中页面根级属性,在右侧 Page Properties 设置权限。
- Widget 权限:选中 widget,在右侧 Properties 设置权限。
- 运行页登录:受保护页面自动要求登录,或使用
currentUserwidget 登录、切换和退出。
配置角色和用户
先设计角色
角色应对应现场职责,而不是具体姓名。例如:
| 角色 | 常见权限 |
|---|---|
| Operator | 运行看板、基础操作 |
| Supervisor | 参数确认、批次管理 |
| Maintenance | 点动、诊断和维护页面 |
| Admin | 所有 Page 和 widget |
- 在 App Roles 点击 Add Role。
- 填写稳定的 Role ID 和用户可读名称。
- 不要修改或删除系统 Admin 角色。
- 保存前确认 Role ID 没有重复;Page 和 widget 权限引用的是 Role ID。
再创建用户
- 在 App Users 点击 Add User。
- 修改默认用户名和密码。
- 为用户选择一个角色。
- 使用 Enabled 控制账号是否可登录。
- 保存后,在运行页用该账号验证。
新 app 默认提供 admin 用户、Admin 角色和初始密码 123456。首次交付前必须更改密码;新增用户也不应保留初始密码。
Page 和 widget 权限
Page 权限
- 权限为空:匿名用户和所有 app 用户都可以打开。
- 选择一个或多个角色:用户角色至少匹配一项才可打开。
- Admin 用户始终可以访问。
受保护 Page 会在运行页要求登录。登录成功后,页面重新加载当前用户的权限上下文。
Widget 权限
- 权限为空:进入该 Page 的所有用户都能看到。
- 设置角色:只有匹配角色能看到。
- Admin 用户始终可见。
编辑器始终显示所有 Page 和 widget,方便工程配置;权限应在真实运行页中验收。
currentUser widget
currentUser 显示当前 app 用户,并提供登录、切换用户和退出。它可以使用账号密码输入,也可以展示已启用用户供选择;无论哪种方式,仍需正确密码。
推荐验收矩阵
| 场景 | 应看到 | 不应看到 |
|---|---|---|
| 未登录 | 公共看板和登录入口 | 受保护 Page/widget |
| Operator | 运行与基础操作 | 维护和管理能力 |
| Maintenance | 诊断与维护页面 | 未授权管理页面 |
| Admin | 所有 Page 和 widget | 无 |
| Disabled 用户 | 登录失败 | 任何受保护内容 |
每个角色至少使用一个真实测试账号验证一次登录、直接访问 URL、页面切换、退出和重新登录。
成功表现
- 用户只看到岗位需要的 Page 和 widget。
- 受保护 Page 在未登录或角色不匹配时不会打开。
currentUser能正确显示、切换和退出当前用户。- 禁用用户无法登录;修改密码后旧密码失效。
- Editor、Runtime target 和 app 用户的权限边界清晰。
常见问题
用户登录成功,但仍看不到 Page
检查用户选择的 Role ID 是否与 Page 权限一致,以及用户是否 Enabled。角色名称相似不代表 ID 相同。
删除角色后用户变成 Admin
删除角色会影响仍引用它的用户。删除前先把用户迁移到正确角色,并检查 Page/widget 引用。
编辑器里权限似乎没有生效
编辑器为方便设计始终显示全部内容。请在运行页用目标角色测试。
Widget 隐藏了,是否就代表设备操作安全?
不是。widget 权限是运行页可见性,不替代设备授权、工艺互锁、PLC 或硬件安全回路。
AI 可以怎么帮
AI 可以把岗位职责整理成权限矩阵、检查无效 Role ID 和缺失覆盖。例如:
只读检查当前 app 的角色、用户、Page 和 widget 权限。输出“角色 → 可访问 Page → 受限 widget”矩阵,指出公开过度、无引用角色和默认密码风险,不要修改账号或密码。
不要把真实密码发给 AI,也不要让 AI 自行决定谁应该拥有 Admin。
必须人工确认
- 每个账号对应真实岗位,离职或换岗用户已禁用。
- 默认密码已更改,密码通过安全渠道交付。
- Admin 数量受到控制,权限矩阵由业务负责人批准。
- UI 权限之外,设备动作和 Safety 仍有独立保护。