alist-org / alist

🗂️A file list/WebDAV program that supports multiple storages, powered by Gin and Solidjs. / 一个支持多存储的文件列表/WebDAV程序,使用 Gin 和 Solidjs。
https://alist.nn.ci
GNU Affero General Public License v3.0
39.38k stars 5.11k forks source link

如何配置多管理员 #6539

Open charliez0 opened 1 month ago

charliez0 commented 1 month ago

Please make sure of the following things

Description of the feature / 需求描述

配置多个能管理的管理员

Suggested solution / 实现思路

No response

Additional context / 附件

No response

welcome[bot] commented 1 month ago

Thanks for opening your first issue here! Be sure to follow the issue template!

github-actions[bot] commented 1 month ago

See

  1. 56% #5511
Seele0oO commented 1 month ago

尝试了一下,貌似不行。 使用api设置,提示不能创建管理员用户。 尝试修改sqlite文件,也不行。 可能设计上就不让多管理员。

huolanyun commented 1 month ago

新建用户,权限全给,不就是管理员?

anwen-anyi commented 1 month ago

没记错的话应该只能通过修改数据库来操作

image

Seele0oO commented 1 month ago
CREATE TRIGGER change_role_if_zero
AFTER INSERT ON x_users
FOR EACH ROW
WHEN NEW.role = 0
BEGIN
    UPDATE x_users
    SET role = 2
    WHERE id = NEW.id;
END;

这样就能保证每个新用户都是管理员了。

可惜alist默认并不带sqlite3软件,不能直接在docker启动顺便执行一下。

apk update apk add sqlite 然后再用sqlite连接数据库就好了。 上面的触发器应该只在新建用户的时候触发。