mirror of
https://github.com/iflytek/skillhub.git
synced 2026-09-05 08:05:56 +00:00
61 lines
2 KiB
Markdown
61 lines
2 KiB
Markdown
---
|
||
title: 用户管理
|
||
sidebar_position: 3
|
||
description: 平台用户管理
|
||
---
|
||
|
||
# 用户管理
|
||
|
||
## 用户状态
|
||
|
||
| 状态 | 实际逻辑 |
|
||
|------|----------|
|
||
| `ACTIVE` | 可正常登录和使用系统。OAuth 首次自动准入、local 注册成功后都会进入该状态。 |
|
||
| `PENDING` | 账号已建但不可登录。OAuth 在“需要审批”策略下会创建 `PENDING` 用户并跳转到待审批页;local 登录遇到该状态会直接拒绝。 |
|
||
| `DISABLED` | 不可登录。OAuth 和 local 登录都会拒绝;`/api/v1/auth/me` 发现当前会话对应用户已被禁用时,会直接清掉 session。 |
|
||
| `MERGED` | 账号已并入其他账号,不可继续登录;主要由账号合并流程写入,不是普通用户管理流程的目标状态。 |
|
||
|
||
## 用户准入
|
||
|
||
可配置新用户是否需要审批:
|
||
- 自动准入:新用户登录后自动激活
|
||
- 审批准入:新用户需 USER_ADMIN 审批后激活
|
||
|
||
## 角色分配
|
||
|
||
`USER_ADMIN` 或 `SUPER_ADMIN` 可调用用户管理接口修改平台角色,但当前实现有几个关键点:
|
||
|
||
- 接口一次只能设置一个目标平台角色。
|
||
- 设置时会删除该用户已有的显式平台角色,再写入新的那个角色。
|
||
- 如果设置为 `USER`,不会写入 `user_role_binding`,而是依赖运行时默认角色补位。
|
||
- `USER_ADMIN` 不能分配 `SUPER_ADMIN`,只有 `SUPER_ADMIN` 能分配。
|
||
|
||
当前管理接口可设置的目标角色实际上是:
|
||
|
||
- `USER`
|
||
- `SKILL_ADMIN`
|
||
- `USER_ADMIN`
|
||
- `AUDITOR`
|
||
- `SUPER_ADMIN`
|
||
|
||
## 用户封禁/解封
|
||
|
||
`USER_ADMIN` 或 `SUPER_ADMIN` 可封禁/解封用户。
|
||
|
||
当前公开管理接口只支持把状态改成:
|
||
|
||
- `ACTIVE`
|
||
- `DISABLED`
|
||
|
||
其中:
|
||
|
||
- “审批通过”本质上也是把用户状态改成 `ACTIVE`。
|
||
- 不能通过该接口直接改成 `PENDING` 或 `MERGED`。
|
||
|
||
## 账号合并
|
||
|
||
支持将多个账号合并为一个,保留操作历史。
|
||
|
||
## 下一步
|
||
|
||
- [创建技能包](../../user-guide/publishing/create-skill) - 开始发布技能
|