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 (см. презентацию в начале Записки).