Class DenyDclManager

java.lang.Object
org.kawanfw.sql.api.server.firewall.DefaultSqlFirewallManager
org.kawanfw.sql.api.server.firewall.DenyDclManager
All Implemented Interfaces:
SqlFirewallManager

public class DenyDclManager
extends DefaultSqlFirewallManager
implements SqlFirewallManager
Firewall manager that denies any DCL (Data Control Language) call.
Since:
4.0
Author:
Nicolas de Pomereu
  • Constructor Details

    • DenyDclManager

      public DenyDclManager()
  • Method Details

    • allowSqlRunAfterAnalysis

      public boolean allowSqlRunAfterAnalysis​(SqlEvent sqlEvent, Connection connection) throws IOException, SQLException
      Description copied from interface: SqlFirewallManager
      Allows to analyze the SQL call event asked by the client side and thus allow or forbid the SQL execution on the server.
      If the analysis defined by the method returns false, the SQL statement won't be executed.
      Specified by:
      allowSqlRunAfterAnalysis in interface SqlFirewallManager
      Overrides:
      allowSqlRunAfterAnalysis in class DefaultSqlFirewallManager
      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/JDBC Connection
      Returns:
      false if the SQL statement is DCL (Data Control Language).
      Throws:
      IOException - if an IOException occurs
      SQLException - if a SQLException occurs
    • runIfStatementRefused

      public void runIfStatementRefused​(SqlEvent sqlEvent, Connection connection) throws IOException, SQLException
      Logs the info using DefaultDatabaseConfigurator#getLogger() Logger.
      Specified by:
      runIfStatementRefused in interface SqlFirewallManager
      Overrides:
      runIfStatementRefused in class DefaultSqlFirewallManager
      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/JDBC Connection
      Throws:
      IOException - if an IOException occurs
      SQLException - if a SQLException occurs