管理员 × 多站点
Artalk 支持站点隔离,以及为站点分配指定的管理员账户,
所以,你可以实现两种模式:单人多站点、多人多站点。
运用「单人多站点」模式,你能够实现多个站点共用同一个 Artalk 后端程序,集中化管理。
运用「多人多站点」模式,你可以和你的朋友们共用同一个 Artalk 后端程序。😉
创建超级管理员
执行命令根据命令行提示快速创建超级管理员。
./artalk admin
./artalk admin
如果使用 Docker 可以执行以下命令:
docker exec -it artalk artalk admin
docker exec -it artalk artalk admin
之后可使用超级管理员账户登陆控制中心,在用户管理页面的图形界面可创建更多账户,而无需手动编辑配置文件。
站点的创建和管理
你可以在侧边栏「控制中心」创建多个站点,管理站点和快速切换站点,详情可参考:“侧边栏”。
管理员配置
你可以设置多个管理员账户,当输入框输入匹配管理员用户名和邮箱时,将弹出密码验证提示框,
并且只有管理员才能访问侧边栏「控制中心」,在前端对评论内容进行管理操作。
在配置文件中添加如下内容:
admin_users:
- name: "admin"
email: "admin@example.com"
password: ""
badge_name: "管理员"
badge_color: "#0083FF"
- name: "admin2"
email: "admin2@example.com"
password: ""
badge_name: "小管理员"
badge_color: "#0083FF"
admin_users:
- name: "admin"
email: "admin@example.com"
password: ""
badge_name: "管理员"
badge_color: "#0083FF"
- name: "admin2"
email: "admin2@example.com"
password: ""
badge_name: "小管理员"
badge_color: "#0083FF"
每一项配置的解释:
name & email:用户名和邮箱,不区分大小写。
password:用户密码。
支持 bcrypt 和 md5 加密,例如填写:
"(md5)50c21190c6e4e5418c6a90d2b5031119"
。建议使用更安全的 bcrypt 加密算法,在 Linux 环境下,你可以使用 htpasswd 命令 来生成密文:
bashunset HISTFILE # 临时禁用 history 防止密码在历史记录中出现 htpasswd -bnBC 10 "" "your_password" | tr -d ':'
unset HISTFILE # 临时禁用 history 防止密码在历史记录中出现 htpasswd -bnBC 10 "" "your_password" | tr -d ':'
然后配置填写:
"(bcrypt)$2y$10$ti4vZYIrxVN8rLcY..."
,以(bcrypt)
开头。badge_name:用户显示的头衔徽标文字。
badge_color:用户显示的头衔徽标背景颜色。
超级管理员、普通管理员
管理员分为「超级管理员」和「普通管理员」,前者可以管理全部站点,后者只能管理部分站点。
普通管理员将:
- 不会收到其它站点的评论邮件通知,邮件通知彼此隔离。
- 不能对设定范围外的站点进行 删除、修改、查询 等操作。
- 仅能在受限模式下使用 数据导入导出、站点管理 等功能。
完整的 admin_users
配置如下:
admin_users:
- name: "超级管理员"
email: "super_admin@example.com"
password: "(bcrypt)$2y$10$ti4vZYIrxVN8rLcYXVgXCO.GJND0dyI49r7IoF3xqIx8bBRmIBZRm"
badge_name: "超级管理员"
badge_color: "#0083ff"
receive_email: false
- name: "普通管理员1"
email: "admin1@example.com"
password: "(bcrypt)$2y$10$ti4vZYIrxVN8rLcYXVgXCO.GJND0dyI49r7IoF3xqIx8bBRmIBZRm"
badge_name: "管理员"
badge_color: "#0083ff"
sites:
- 站点名 A
- 站点名 B
- name: "普通管理员2"
email: "admin2@example.com"
password: "(bcrypt)$2y$10$ti4vZYIrxVN8rLcYXVgXCO.GJND0dyI49r7IoF3xqIx8bBRmIBZRm"
badge_name: "管理员"
badge_color: "#0083ff"
sites:
- 站点名 C
- 站点名 D
admin_users:
- name: "超级管理员"
email: "super_admin@example.com"
password: "(bcrypt)$2y$10$ti4vZYIrxVN8rLcYXVgXCO.GJND0dyI49r7IoF3xqIx8bBRmIBZRm"
badge_name: "超级管理员"
badge_color: "#0083ff"
receive_email: false
- name: "普通管理员1"
email: "admin1@example.com"
password: "(bcrypt)$2y$10$ti4vZYIrxVN8rLcYXVgXCO.GJND0dyI49r7IoF3xqIx8bBRmIBZRm"
badge_name: "管理员"
badge_color: "#0083ff"
sites:
- 站点名 A
- 站点名 B
- name: "普通管理员2"
email: "admin2@example.com"
password: "(bcrypt)$2y$10$ti4vZYIrxVN8rLcYXVgXCO.GJND0dyI49r7IoF3xqIx8bBRmIBZRm"
badge_name: "管理员"
badge_color: "#0083ff"
sites:
- 站点名 C
- 站点名 D
为管理员分配站点
sites:向管理员分配站点,即控制管理员对于站点「控制中心」的可访问权限。
当未分配站点时,即 sites 未配置时,该账户为「超级管理员」,可以管理全部站点:
yamladmin_users: - name: "super_admin" # 未分配 sites,为超级管理员
admin_users: - name: "super_admin" # 未分配 sites,为超级管理员
当分配站点后,即 sites 已配置时,该管理员成为「普通管理员」:
yamladmin_users: - name: "a_admin_user" # ↓ 为账户分配 sites sites: - 站点名 A - 站点名 B
admin_users: - name: "a_admin_user" # ↓ 为账户分配 sites sites: - 站点名 A - 站点名 B
注:你至少需要一个超级管理员,这样才能创建站点。
控制管理员接收邮件通知
当页面有新的评论时,邮件会发送给该站点的全部管理员,但你可以配置 receive_email
强制禁用它。
这对于设定了多个邮箱,但又不希望某些邮箱收到评论邮件的情况很有帮助。
receive_email:设置为
false
系统将不会发送邮件通知给该用户。注:禁止后该管理员用户仍可以收到来自他人的 @AT 回复,只是当用户对页面进行评论时 (创建根评论时) 不发送邮件通知。
admin_users:
- name: "super_admin"
# 未分配 sites,即为超级管理员
receive_email: false # ← 超级管理员不接收邮件
- name: "a_admin_user"
# 分配 sites,即为普通管理员
sites:
- 站点名 A
- 站点名 B
admin_users:
- name: "super_admin"
# 未分配 sites,即为超级管理员
receive_email: false # ← 超级管理员不接收邮件
- name: "a_admin_user"
# 分配 sites,即为普通管理员
sites:
- 站点名 A
- 站点名 B