Building an advanced security model

Sometimes we can get very sophisticated requirements about security and it will be impossible to create security using the default MicroStrategy security functionality. In this case, we can use MicroStrategy Object [User Login] - System Prompt. It returns a user login during the SQL generation of report. It gives us capabilities to hardcode security and build additional filters for the report. For example, this definition will filter country for the specific users:

ApplySimple("Case when #0 IN ('lsmith','bcassidy','nzhou','mdiploma') Then 'Canada' Else '%' End",? [User Login]) 
OR  
ApplySimple("Case when #0 IN ('lsmith','bcassidy','nzhou','mdiploma') Then 'Australia' Else '%' End",? [User Login]) 

Another way to do it is to build a table in the data warehouse and set up all security and access there in order to join this table with the report using user login. In this case, it costs Extract, Transform, and Load (ETL) efforts.

The last option is the most powerful - use MicroStrategy Usher. There is a lot of information about Usher here: https://microstrategyhelp.atlassian.net/wiki/display/USHER/Installing+and+configuring+MicroStrategy+Usher.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset