Difference between revisions of "User Management"
Line 7: | Line 7: | ||
For example, all users who have the <code>WRITE</code> permission assigned | For example, all users who have the <code>WRITE</code> permission assigned | ||
will also be able to execute commands requiring <code>READ</code> permission. | will also be able to execute commands requiring <code>READ</code> permission. | ||
+ | Next, local permissions can be assigned to databases, which override global | ||
+ | user settings. | ||
[[File:perms.png|none|thumb|200px|Permissions hierarchy]] | [[File:perms.png|none|thumb|200px|Permissions hierarchy]] |
Revision as of 02:52, 6 May 2011
The user management, an advanced feature of the client/server architecture of BaseX, defines which permissions are required by a user to perform a specific database command.
In the permission hierarchy below, the existing permissions are illustrated.
A higher permission includes all lower permissions.
For example, all users who have the WRITE
permission assigned
will also be able to execute commands requiring READ
permission.
Next, local permissions can be assigned to databases, which override global
user settings.
Commands
Admin permissions are needed to execute one of the following processes.
Creating user 'test' with password 'test':
> CREATE USER test test
As global permissions, you can set 'none', 'read', 'write', 'create' and 'admin':
Revoking all global permissions from user 'test':
> GRANT none TO test
Valid local permissions are 'none', 'read' and 'write':
Granting write permission on database 'factbook' to user 'test':
> GRANT write ON factbook TO test
Note: Local permissions overwrite global permissions. As a consequence, the 'test' user will only be allowed to access (i.e., read and write) the 'factbook' database. If no local permissions are set, the global rights are inherited.
Showing global permissions:
> SHOW USERS
Showing local permissions on database 'factbook':
> SHOW USERS ON factbook
Dropping of user 'test':
> DROP USER test