Dynamic Roles in Mondrian

Используем динамический контроль доступов в Мондриан:

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

mondrian
comments powered by Disqus