Class DenyExecuteUpdateManager
java.lang.Object
org.kawanfw.sql.api.server.firewall.DefaultSqlFirewallManager
org.kawanfw.sql.api.server.firewall.DenyExecuteUpdateManager
- All Implemented Interfaces:
SqlFirewallManager
public class DenyExecuteUpdateManager extends DefaultSqlFirewallManager implements SqlFirewallManager
Firewall manager that denies any update of the database. The database is thus
guaranteed to be accessed in read only from client side.
- Since:
- 4.0
- Author:
- Nicolas de Pomereu
-
Constructor Summary
Constructors Constructor Description DenyExecuteUpdateManager() -
Method Summary
Modifier and Type Method Description booleanallowExecuteUpdate(String username, String database, Connection connection)Allows to define if the passed username is allowed to call a statement that updates the database.voidrunIfStatementRefused(SqlEvent sqlEvent, Connection connection)Logs the info usingDefaultDatabaseConfigurator#getLogger()Logger.Methods inherited from class org.kawanfw.sql.api.server.firewall.DefaultSqlFirewallManager
allowExecute, allowMetadataQuery, allowSqlRunAfterAnalysis, allowStatementClassMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.kawanfw.sql.api.server.firewall.SqlFirewallManager
allowExecute, allowMetadataQuery, allowSqlRunAfterAnalysis, allowStatementClass
-
Constructor Details
-
DenyExecuteUpdateManager
public DenyExecuteUpdateManager()
-
-
Method Details
-
allowExecuteUpdate
public boolean allowExecuteUpdate(String username, String database, Connection connection) throws IOException, SQLExceptionDescription copied from interface:SqlFirewallManagerAllows to define if the passed username is allowed to call a statement that updates the database.- Specified by:
allowExecuteUpdatein interfaceSqlFirewallManager- Overrides:
allowExecuteUpdatein 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. (Nobody is allowed to update the database.).- 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:
runIfStatementRefusedin interfaceSqlFirewallManager- Overrides:
runIfStatementRefusedin 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
-