用户管理

1.2.55 版本的命令行工具开始,我们增加了用户管理的支持。该功能可以检查 YAML 配置文件中的用户信息,当用户不存在时,会在 Edge Admin 中自动创建该用户。此外,在用户创建完成后,还支持向该用户发送邮件通知。

以下是配置文件的目录结构:

- /path/of/your-edge-users/
  |-- user-list-1.yaml
  |-- user-list-2.yaml
  |-- ...

你可以在任意目录存放用户信息,只要在执行工具时,通过 -U/--users-config-path 参数来指定该路径即可。例如 edge-config [...] -U /path/of/your-edge-users

示例

---
password: DEFAULT PASSWORD
login_type: Normal
change_pwd_on_login: true
allow_login: true
group: super-admin
send_email_to_new_user: true
send_email_to_existing_user: false
users:
  - username: user-1
    email: oredge-user1@openresty.com
    group: normal user
    password: USER-1 PASSWORD
    change_pwd_on_login: false
    allow_login: true
    send_email_to_new_user: false
    send_email_to_existing_user: true
  - username: user-2
    email: oredge-user2@openresty.com
  - username: user-3
    email: oredge-user3@openresty.com

在此示例中,前面的 7 个配置项是默认配置。当 users 中的用户没有指定对应的配置时,将会使用这些默认配置。

  • login_type 是登录的类型,目前仅支持 Normal。后续我们将会支持更多类型。
  • change_pwd_on_login 表示是否要求新创建的用户在首次登录时修改密码。
  • allow_login 表示是否允许该用户进行登录操作。
  • group 是用户所属的组的名称,例如默认的组 super-admin(super admin)admin(normal admin)user(normal user)
  • send_email_to_new_user 用于控制是否发送邮件给新用户。当然,除了这个开关外,用户信息中还需要包含 email 配置。
  • 当因为某些原因需要重新发送邮件给用户时,可以打开 send_email_to_existing_user 开关。

示例中包含了 3 个用户,名称分别是 user-1user-2user-3。其中 user-1 使用了独立的配置信息,其余 2 个则使用了默认配置。

需要注意的是,仅配置以上信息还无法发送邮件,因为还没有指定发送者的信息。关于发送者的信息配置,可以参考 发送邮件 文档。

在准备好邮件发送者的配置后,可以按照以下方式运行命令行工具:

  1. 使用 -l 选项,只进行用户管理相关操作:
edge-config -t 6cc1cf09-1a39-4c17-8ed6-c11838edac12 \
    -u https://192.168.1.1 -s -i /path/of/configs -n default -d test.com -l users -U /path/of/users
  1. 不使用 -l 选项,执行所有操作:
edge-config -t 6cc1cf09-1a39-4c17-8ed6-c11838edac12 \
    -u https://192.168.1.1 -s -i /path/of/configs -n default -d test.com -U /path/of/users