|
Relational Database Security Broker |
|
|
The Relational Database Security Broker can be used to access and maintain the security information stored in all types of relational databases as long as there is proper JDBC driver for the database system. A RelDB Security Broker is introduced to the system with a securityBroker configuration element in a global configuration file as follows.
Nested Elements class The class name of the broker must be org.moremotion.security.broker.SecurityBroker. rootUserName The name of the root user. adminRoleName The name of the administrator role. sqlPatternFile The name of the SQL Pattern File. See "Broker SQL Pattern Files" below. conn The name of a database connection definition made with jdbcConnection element. schema The name of the database schema if applicable. Usually applicable for Oracle. tablespace The name of the table space if applicable. Usually applicable for Oracle. debug The debugging level of the broker class. Give a value between 0 and 3;
Although database systems mostly conform to SQL'92 standards still there exists vendor specific implementations that makes it difficult to process them in a standard way. Therefore the RelDB Security Broker uses SQL Patterns to solve the differences between the database systems. Using SQL patterns provides a flexible way of accessing the stored security information. Broker SQL Pattern Files The available SQL Pattern files are located under {APPLICATION_PATH}/WEB-INF/MM-INF/config/security/bsp directory.
How a BSP File Structured? BSP files contains a standard set of SQL Patterns that are identified by Pattern Names. For example when the RelDB Security Broker wants to retrieve the information of a check point from the database it uses the "#Get CheckPoint Info By Name" pattern. The @{} symbols in the SQL patterns are resolved with their values before the SQL is executed through the JDBC driver.
The RelDB Security Broker has no idea of which tables and which columns are accessed. It only knows the type of the SQL query; It is either an update query that updates the database or a select query that produces a result set. The @{} Symbols that can be used in SQL Patterns
See Customizing a Broker SQL Pattern File
|