public class FileBasedPrivilegeManager extends Object implements PrivilegeManager
PrivilegeManager based on user and privilege system tables. The directories of these
system tables are created at the root of warehouse (table-root/user.sys and
table-root/privilege.sys).
User table is the table which stores all user information. The schema of user table is:
Privilege table is the table storing what privileges each user have. Its schema is:
PrivilegeType
IDENTIFIER_WHOLE_CATALOG, PASSWORD_ANONYMOUS, USER_ANONYMOUS, USER_ROOT| Constructor and Description |
|---|
FileBasedPrivilegeManager(String warehouse,
FileIO fileIO,
String user,
String password) |
| Modifier and Type | Method and Description |
|---|---|
void |
createUser(String user,
String password)
Create
user with password. |
void |
dropUser(String user)
Remove
user from the privilege system. |
PrivilegeChecker |
getPrivilegeChecker()
Get
PrivilegeChecker of this privilege system to check if a user has specific
privileges on an object. |
void |
grant(String user,
String identifier,
PrivilegeType privilege)
Grant
user with privilege on identifier. |
void |
initializePrivilege(String rootPassword)
Initialize the privilege system if not enabled.
|
void |
objectDropped(String identifier)
Notify the privilege system that the object with
identifier is dropped. |
void |
objectRenamed(String oldName,
String newName)
Notify the privilege system that the identifier of an object is changed from
oldName
to newName. |
boolean |
privilegeEnabled()
Check if the privilege system is enabled.
|
int |
revoke(String user,
String identifier,
PrivilegeType privilege)
Revoke
privilege from user on identifier. |
public boolean privilegeEnabled()
PrivilegeManagerprivilegeEnabled in interface PrivilegeManagerpublic void initializePrivilege(String rootPassword)
PrivilegeManagerinitializePrivilege in interface PrivilegeManagerpublic void createUser(String user, String password)
PrivilegeManageruser with password.createUser in interface PrivilegeManagerpublic void dropUser(String user)
PrivilegeManageruser from the privilege system.dropUser in interface PrivilegeManagerpublic void grant(String user, String identifier, PrivilegeType privilege)
PrivilegeManageruser with privilege on identifier.grant in interface PrivilegeManagerpublic int revoke(String user, String identifier, PrivilegeType privilege)
PrivilegeManagerprivilege from user on identifier. Note that user will
also lose privilege on all descendants of identifier.revoke in interface PrivilegeManagerpublic void objectRenamed(String oldName, String newName)
PrivilegeManageroldName
to newName.objectRenamed in interface PrivilegeManagerpublic void objectDropped(String identifier)
PrivilegeManageridentifier is dropped.objectDropped in interface PrivilegeManagerpublic PrivilegeChecker getPrivilegeChecker()
PrivilegeManagerPrivilegeChecker of this privilege system to check if a user has specific
privileges on an object.getPrivilegeChecker in interface PrivilegeManagerCopyright © 2023–2025 The Apache Software Foundation. All rights reserved.