[Mondrian] Dynamic roles

Brian Hagan bhagan at pentaho.com
Tue Jul 5 09:57:07 EDT 2011


Instead of extending MDXConnection, you may want to consider using the MondrianUserSessionUserRoleListMapper (pentahoObjects.spring.xml) , which allows you to change the role of an authenticated user based upon a session variable. This technique does not require you to dynamically modify the schema. However, the role, which are you assigning to the user, must be defined in the schema. The trick is then getting the variable in the session.



From: mondrian-bounces at pentaho.org [mailto:mondrian-bounces at pentaho.org] On Behalf Of van der Werf, Guy
Sent: Tuesday, July 05, 2011 9:31 AM
To: Mondrian developer mailing list
Subject: [Mondrian] Dynamic roles

Hi all,

With reference to Jira BISERVER-4992, I would like ask a question regarding caching in Mondrian.

Using Pentaho 3.8, I've extended "MDXConnection" to allow setting a custom role (extends RoleImpl) that is configured depending on reference metadata held in an existing authorization data source. This works as planned, but caching is a problem, and I wondering if anyone could shed some light on possible caching strategies. I should add that I do not use a dynamic schema processor in this solution.

I have 1 solution so far. I switch schema cache off in the catalog, and set "UseSchemaPool=false" in "DataSourceInfo" in "datasources.xml". To ensure the same cache behavior (i.e. effectively none) in schemas not in "datasources.xml", I could set this in the connection properties too (but that's not done yet). The result is: I have no useful caching and performance in dashboards is noticeably pathetic.

So... does anyone have experience in Mondrian caching when dynamically changing the role, but not the schema xml?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20110705/0afa91b2/attachment.html 

More information about the Mondrian mailing list