You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
docs/versioned_docs/version-2.7/user-guide/users.md

112 lines
4.3 KiB

---
title: 用户与权限
description: 用户管理、权限配置相关功能说明
---
## 概览
Halo 2.0 版本采用了基于角色的权限控制RBAC体系。不同于之前 1.x 版本的单用户设计,现在你可以创建多个用户并且通过赋予不同用户不同角色的方式,为他们分配不同的权限。
## 用户
点击左侧导航栏的 `用户` 条目进入用户管理页面。
### 创建用户
在用户管理页面,点击右上角的 `添加用户` 按钮即可弹出新建用户对话框。
![创建用户](/img/user-guide/users/user-setting.png)
目前支持配置的用户属性有:
- **用户名**:用户登录 Halo 控制台使用的用户名,不可与已有的用户名重复;
- **显示名称**:用于显示文章作者等用户信息时使用的,更友好的用户名称;
- **密码**
- **电子邮箱**
- **手机号**
- **头像**
- **描述**
- **元数据**:供主题、插件使用的额外数据信息。例如部分主题期望展示作者的学历、工作单位等信息,便可以使用该功能为用户增加相关的元数据。
### 其他操作
点击用户列表中的 `···` 更多操作按钮,可以对指定用户进行修改资料、修改密码等其他更多操作。
![用户列表其他操作](/img/user-guide/users/user-operate.png)
#### 修改用户资料
你可以修改除用户名以外的所有资料,具有用户管理相关权限的用户,也可对其他用户的资料进行修改。
#### 修改用户密码
对于已有的用户,你可以在 `···` 更多操作中修改指定用户的登录密码。
#### 分配角色
对于已有的用户,你可以在 `···` 更多操作中为该用户分配角色,分配角色后该用户具有角色所对应的权限。
:::info
修改用户分配的角色会影响用户所拥有的权限,可能影响用户使用。
:::
#### 删除用户
对于已有的用户,你可以在 `···` 更多操作中删除该用户。
:::warning
删除用户后,该用户之前创建的文章、页面等内容的作者信息将会丢失,可能影响站点内容浏览。此操作不可恢复。
:::
## 角色
如下图所示,在用户管理页面,点击右上角红色区域的 `角色管理` 按钮,即可进入到角色管理页面。
![角色管理](/img/user-guide/users/role-management.png)
### 创建角色
Halo 提供了全新创建和基于已有角色创建两种角色创建方式。
#### 全新创建
点击角色管理页面右上角的 `新建角色` 按钮即可弹出新建角色对话框,通过这种方式创建的角色默认未勾选任何权限,你需要在对话框中点击切换到权限标签页,为该角色勾选需要的权限。
#### 基于已有角色创建
当系统中已经存在一些基础角色时,你可以点击某个角色所在行中的 `···` 更多操作按钮,选择 `基于此角色创建` 来创建一个新的角色。通过这种方式创建的角色默认继承了原有角色的权限,但你同样可以对新角色的权限进行进一步调整。
![基于已有角色创建角色](/img/user-guide/users/role-fork.png)
### 修改角色信息
对于已有的角色,你可以在 `···` 更多操作中修改指定角色的名称和该角色所拥有的权限。
### 其他操作
对于已有的角色,你可以在 `···` 更多操作中删除指定角色。
:::warning
删除角色后,分配了该角色的用户会丧失对应的权限,影响用户使用。此操作不可恢复。
:::
## 身份认证
目前 Halo 默认仅支持本地身份认证,但可以通过插件的方式拓展其他三方的身份认证方式。
:::info
目前 Halo 官方提供的身份认证插件:
- OAuth2 认证:<https://halo.run/store/apps/app-ESVDK>
:::
你可以在用户管理界面的右上角点击 `身份认证` 按钮,进入身份认证管理页面。
![身份认证](/img/user-guide/users/auth-providers-entry.png)
进入身份认证管理页面之后,如果你已经安装了提供身份认证方式的插件,你就可以在列表中看到对应的身份认证方式,你可以对其进行设置并启用。
![身份认证方式](/img/user-guide/users/auth-providers.png)
> 这里是安装了 [OAuth2 认证](https://halo.run/store/apps/app-ESVDK) 插件,提供了 `GitHub`、`GitLab`、`Gitee` 三种 OAuth2 认证方式。