class GenericAuthorizer extends java.lang.Object implements Authorizer
Modifier and Type | Field and Description |
---|---|
private static int |
FULL_ACCESS |
private LanguageConnectionContext |
lcc |
private static int |
NO_ACCESS |
private static int |
READ_ACCESS |
(package private) boolean |
readOnlyConnection |
private int |
userAccessLevel |
CREATE_ROLE_PRIV, CREATE_SCHEMA_PRIV, DELETE_PRIV, DROP_ROLE_PRIV, DROP_SCHEMA_PRIV, EXECUTE_PRIV, INSERT_PRIV, JAR_WRITE_OP, MIN_SELECT_PRIV, MODIFY_SCHEMA_PRIV, NULL_PRIV, PRIV_TYPE_COUNT, PROPERTY_WRITE_OP, PUBLIC_AUTHORIZATION_ID, REFERENCES_PRIV, SELECT_PRIV, SQL_ARBITARY_OP, SQL_CALL_OP, SQL_DDL_OP, SQL_SELECT_OP, SQL_WRITE_OP, SYSTEM_AUTHORIZATION_ID, TRIGGER_PRIV, UPDATE_PRIV, USAGE_PRIV
Constructor and Description |
---|
GenericAuthorizer(LanguageConnectionContext lcc) |
Modifier and Type | Method and Description |
---|---|
void |
authorize(Activation activation,
int operation)
Verify the connected user is authorized to perform the requested
operation.
|
void |
authorize(int operation)
Used for operations that do not involve tables or routines.
|
void |
authorize(java.util.List<StatementPermission> requiredPermissionsList,
Activation activation)
Verify the connected user possesses the indicated permissions
|
private boolean |
connectionMustRemainReadOnly() |
private static StandardException |
externalRoutineException(int operation,
int sqlAllowed)
Throw an exception if the user does not have all of the required permissions.
|
private int |
getDefaultAccessLevel() |
private void |
getUserAccessLevel() |
boolean |
isReadOnlyConnection()
Get the readOnly status for this authorizer's connection.
|
void |
refresh()
Refresh this authorizer to reflect a change in the database
permissions.
|
void |
setReadOnlyConnection(boolean on,
boolean authorize)
Set the readOnly status for this authorizer's connection.
|
private boolean |
userOnAccessList(java.lang.String listName) |
private static final int NO_ACCESS
private static final int READ_ACCESS
private static final int FULL_ACCESS
private int userAccessLevel
boolean readOnlyConnection
private final LanguageConnectionContext lcc
GenericAuthorizer(LanguageConnectionContext lcc) throws StandardException
StandardException
private boolean connectionMustRemainReadOnly()
public void authorize(int operation) throws StandardException
authorize
in interface Authorizer
operation
- the enumeration code for the requsted operation.StandardException
- Thrown if the operation is not allowedAuthorizer.authorize(int)
public void authorize(Activation activation, int operation) throws StandardException
Authorizer
authorize
in interface Authorizer
activation
- holds the list of tables, columns, and routines used.operation
- the enumeration code for the requsted operation.StandardException
- Thrown if the operation is not allowedAuthorizer.authorize(int)
public void authorize(java.util.List<StatementPermission> requiredPermissionsList, Activation activation) throws StandardException
Authorizer
authorize
in interface Authorizer
requiredPermissionsList
- the required permissionsactivation
- holds the execution logicStandardException
- Thrown if the operation is not allowedprivate static StandardException externalRoutineException(int operation, int sqlAllowed)
private void getUserAccessLevel() throws StandardException
StandardException
private int getDefaultAccessLevel() throws StandardException
StandardException
private boolean userOnAccessList(java.lang.String listName) throws StandardException
StandardException
public boolean isReadOnlyConnection()
Authorizer
isReadOnlyConnection
in interface Authorizer
Authorizer.isReadOnlyConnection()
public void setReadOnlyConnection(boolean on, boolean authorize) throws StandardException
Authorizer
setReadOnlyConnection
in interface Authorizer
on
- true means set the connection to read only mode,
false means set the connection to read wrte mode.authorize
- true means to verify the caller has authority
to set the connection and false means do not check.StandardException
- Thrown if the operation is not allowedAuthorizer.isReadOnlyConnection()
public final void refresh() throws StandardException
Authorizer
refresh
in interface Authorizer
StandardException
- Thrown if the operation is not allowedAuthorizer.refresh()
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.