可以仅为特定数据库创建用户吗?

Possible to create a user for a specific database only?

根据关于 user management 的 BaseX 文档,可以创建一组具有特定权限(读、写等)的用户。这些权限会影响可以执行的数据库操作。

这引出了我的问题:是否可以创建只能访问特定数据库的用户?

例如:

user 'admin' -> db1, db2, ...
user 'bob'   -> db1
user 'alice' -> db2

我与用户进行了一些交流,似乎每个用户都可以 "see" 在 BaseX 中创建的每个数据库。例如,如果 bob 具有 WRITE 访问权限,他可以写入 db1, db2 而不仅仅是 db1.

根据文档,您 link 如果您

CREATE USER bob

bob 将没有任何权限。 那么

GRANT WRITE ON db1 to bob

用户 bob 将只能访问 db1。 请注意,用户管理已随 BaseX 版本发生变化,因此在旧版本上,您可能必须在授予更具体的权限之前明确 GRANT none 给 bob。