成员与访问控制
本地成员账号、管理员权限与禁用行为。
创建成员
SubLane 面向内部团队,使用一个本地管理员和由管理员创建的成员。没有公开注册,也没有邀请链接、角色晋升或成员删除功能。
管理员进入「成员」,填写用户名和初始密码。用户名为 3–32 个 ASCII 字母、数字、下划线或连字符,首字符必须为字母或数字;大小写不敏感。新密码为 8–20 个 Unicode 字符。通过团队已有的安全渠道交付初始凭据,成员登录后可在偏好设置修改密码。
权限边界
| 能力 | 管理员 | 成员 |
|---|---|---|
| 本人的密钥、请求记录、用量、密码和偏好 | 可用 | 可用 |
| 订阅账号、组与授权、成员管理 | 可用 | 不可用 |
| 全部请求、团队用量、审计、系统设置 | 可用 | 不可用 |
| 读取其他人的完整个人密钥 | 不可用 | 不可用 |
权限由服务端检查,修改浏览器状态或直接访问管理 URL 不会获得额外权限。退出登录、重新登录或检测到身份变化时,前端会清除私有查询缓存。
禁用与恢复
禁用成员会在事务中更新状态并删除其浏览器会话。后续请求检查持久化状态,个人 API 密钥也会被暂停。重新启用后必须重新登录,旧 Cookie 不会复活;未撤销且未过期的密钥可恢复使用。
管理员不能通过成员接口被禁用。每人的会话数量独立,成员登录不会挤掉管理员会话。重置密码、请求限额和管理员本地恢复见 团队用量与限额。
接口
GET /api/members?cursor=0 分页读取成员;POST /api/members 接收 username 和 password;PATCH /api/members/{id} 接收 enabled。这些接口要求管理员会话,额外的 role 字段会被拒绝。
重复用户名返回 409 username_taken。状态更新中的未知 ID 或管理员 ID 返回 404 member_not_found。升级保留已有用户、密码摘要和会话;降级需要匹配旧版本的数据库备份。