12 March 2015 11:12
Используем динамический контроль доступов в Мондриан:
http://www.slideshare.net/DavidFombellaPombal/mondrian-applying-dynamic-security-pentaho
1. Создаем класс GolbinDynamicSchemaProcessor реализуя интерфейс DynamicSchemaProcessor.
2. Изменяем строку подключения, добавляя свойство DynamicSchemaProcessor, пример:
<datasource> <name>FoodMart Mondrian</name> <description>FoodMart sample data source.</description> <connection-info> <url>jdbc:mondrian:</url> <driverClass>mondrian.olap4j.MondrianOlap4jDriver</driverClass> <properties> <property name="Catalog">file:${webRoot}${FS}FoodMart.xml</property> <property name="Jdbc">jdbc:derby:${webRoot}${FS}foodmart</property> <property name="JdbcDrivers">org.apache.derby.jdbc.EmbeddedDriver</property> <property name="JdbcUser">sa</property> <property name="DynamicSchemaProcessor">GolbinDynamicSchemaProcessor</property> </properties> </connection-info> </datasource>
3. Далее в зависимости от Вашего класса, можно управлять доступом на основе VIEW (см. презентацию в начале Записки).