Class DenyMetadataQueryManager
java.lang.Object
org.kawanfw.sql.api.server.firewall.DefaultSqlFirewallManager
org.kawanfw.sql.api.server.firewall.DenyMetadataQueryManager
- All Implemented Interfaces:
SqlFirewallManager
public class DenyMetadataQueryManager extends DefaultSqlFirewallManager implements SqlFirewallManager
Firewall manager that denies the use of the AceQL Metadata Query API.
- Since:
- 4.0
- Author:
- Nicolas de Pomereu
-
Constructor Summary
Constructors Constructor Description DenyMetadataQueryManager()
-
Method Summary
Modifier and Type Method Description boolean
allowMetadataQuery(String username, String database, Connection connection)
Says if the username is allowed call the Metadata Query API for the passed database.void
runIfStatementRefused(SqlEvent sqlEvent, Connection connection)
Logs the info usingDefaultDatabaseConfigurator#getLogger()
Logger
.Methods inherited from class org.kawanfw.sql.api.server.firewall.DefaultSqlFirewallManager
allowExecute, allowExecuteUpdate, allowSqlRunAfterAnalysis, allowStatementClass
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.kawanfw.sql.api.server.firewall.SqlFirewallManager
allowExecute, allowExecuteUpdate, allowSqlRunAfterAnalysis, allowStatementClass
-
Constructor Details
-
DenyMetadataQueryManager
public DenyMetadataQueryManager()
-
-
Method Details
-
allowMetadataQuery
public boolean allowMetadataQuery(String username, String database, Connection connection) throws IOException, SQLExceptionDescription copied from interface:SqlFirewallManager
Says if the username is allowed call the Metadata Query API for the passed database.- Specified by:
allowMetadataQuery
in interfaceSqlFirewallManager
- Overrides:
allowMetadataQuery
in classDefaultSqlFirewallManager
- Parameters:
username
- the client username to check the rule fordatabase
- the database name as defined in the JDBC URL fieldconnection
- The current SQL/JDBCConnection
- Returns:
false
. (Client programs will never allowed to call the Metadata Query API).- Throws:
IOException
- if an IOException occursSQLException
- if a SQLException occurs
-
runIfStatementRefused
public void runIfStatementRefused(SqlEvent sqlEvent, Connection connection) throws IOException, SQLExceptionLogs the info usingDefaultDatabaseConfigurator#getLogger()
Logger
.- Specified by:
runIfStatementRefused
in interfaceSqlFirewallManager
- Overrides:
runIfStatementRefused
in classDefaultSqlFirewallManager
- Parameters:
sqlEvent
- the SQL event asked by the client side. Contains all info about the SQL call (client username, database name, IP Address of the client, and SQL statement details).connection
- The current SQL/JDBCConnection
- Throws:
IOException
- if an IOException occursSQLException
- if a SQLException occurs
-