Data Row Security for DATA Objects in Birt 360
#1
Posted 07 February 2012 - 10:51 AM
The thread title says it all, I think. I have a column in all 3 of my DataSets(the same column is used, lets use Client_Code as an example)in my DataObject that has Data Row Security enabled.
I simply want my Privledges or Role on the DataObject to "talk" to the assigned column in my DataSet where security is enabled. Does this need Javascript to be implemented? Am I missing something I have to assign on the DataSet Security?
For Example, if I have 4 different Client_Code's, and a user logs onto the Console has one of these Client_Code's (as a Role), then I want the Dashboard only to show their data for the corresponding Client_Code in the DataSet. I believe somehow I need to have the Role=Client_Code in my Security.
Please let me know if this would be better on a phone call or e-mail.
#2
Posted 07 February 2012 - 12:29 PM
You can use Access Control List to achieve this. It is documented in detail in chapter 17 of this document:
http://www.birt-exch...tuate-bdpro.pdf
Ashwini
#3
Posted 10 February 2012 - 02:03 PM
Thanks for the response, really appreciate it.
Anyway, I tried various methods on using ACL Security and DataRow Security to implement this. I used the dynamic method row["Client_Code"] and even hard coded in the actual Codes "X,Y" for both securities. The problem is that the mock dashboard that I create off the DataObject with the security is still pulling all Client_Codes data when I log in as a User with only a single Role(one of the the Client_Codes) privledged to it. Obviously I made sure the client_code = Role.
Let me know if you'd like me to upload an example for you of if you'd like further information.
#4
Posted 13 February 2012 - 01:24 PM
An example would be great so that I can understand the issue better.
Ashwini
#5
Posted 14 February 2012 - 12:46 PM
Again, thank you very much for your help. I attached a Zip file that contains two data objects, ClassicModels_Dashboard and ClassicModels_Dashboard2. ClassicModels_Dashboard is my data store that ClassicModels_Dashboard2 is using as a Data Source.
ClassicModels_Dashboard is essentially housing all my data for all Clients (in this case, Country) while, Dashboard2 is the one I am uploading to the iServer and putting security on the Dataset (the security is the Country, obviously). My dataset in Dashboard2 is using both ACL and Row Access security. Each User who logs in to the iServer will have certain Roles. For this example, the Role = Country.
Anyway, the goal is to upload Dashboard2 to the iServer, then use Birt 360 to create a single Dashboard that I can spread for all Countries. All the while each user that logs in only has one Country as their role, thus would only see the data for that specific Country/Role.
Looking forward to hearing back from you!
Attached File(s)
-
ClassicModels_Dashboard.zip (5.09K)
Number of downloads: 5
#6
Posted 15 February 2012 - 02:27 PM
You can achieve this with a single data object. I have modified your data object to add security based on Country names and "All Countries ". Users roles mapped to country names can see only their country specific data, whereas user mapped to "All Countries" role can see all the data. I have added a sample report as well. You can test run the sample report within BRD Pro using "View Report with Data Security" button (Globe with a blue lock)
Ashwini
DataSecurity.zip (18.04K)
Number of downloads: 12
#7
Posted 21 February 2012 - 09:41 AM
I uploaded your data object to the iServer and put secure read privledges "France" and "All Countries" on the data store that it creates after I ran it. I also created a dashboard using the Birt 360 tool that line graphs all the countries and the amount of corresponding records (please see the attached dashboard). I put the same privledges on the dashboard, so its viewable to users with roles "France" and "All Countries" defined to them.
I proceeded to login as a user with ONLY the role "France", and hoped to see the graph showing only France's data. It then gave me the error that I need Page Level security for this to work. Is this possible without the license? I thought data row security could handle such a project.
-Anthony
Attached File(s)
-
Birt360_PageSecureLicense_Error.zip (69.89K)
Number of downloads: 2
#8
Posted 23 February 2012 - 12:35 PM
Data Security is a core iServer functionality and should not require a separate license. If the issue persists you should contact Actuate Support http://support.actuate.com
Ashwini






MultiQuote




