You must have existing security tables in a relational database in order to proceed with this task.
Follow the instructions below to switch from Pentaho default security to JDBC security, which will allow you to use your own security tables.
Note: If you are using the BA Server and choose to switch to a JDBC security shared object, you will no longer be able to use the role and user administration settings in the Administration portion of the User Console.
- Stop the BA Server by running the stop-pentaho script.
- Open /pentaho-solutions/system/security.properties with a text editor.
- Change the value of the provider property to
- Set up the connection to the database that holds the user/authorities.
- If you need to, modify these two queries that pull information about users/authorities.
- If you need to, modify these three queries that pull information about users/authorities.
- Update the default Pentaho admin user on the system to map to your JDBC admin user.
- To fully map the JDBC's admin role to other configuration files, specify the name of the administrator role for your JDBC authentication database in the applicationContext-pentaho-security-jdbc.xml file.
- Open the /pentaho-solutions/system/applicationContext-pentaho-security-jdbc.xml file with a text editor.
- Find these lines and change the entry key to the key assigned to the administrator role in your JDBC authentication database.
<!-- map ldap role to pentaho security role --> <util:map id="jdbcRoleMap"> <entry key="Admin" value="Administrator"/> </util:map>
- Save and close the file.
- Start the server by running the start-pentaho script.
The server is configured to authenticate users against the specified database.