cancel
Showing results for 
Search instead for 
Did you mean: 

How do I get a list of the reports that a user has access to?

Former Member
0 Kudos

<p>I need to be able to determine which reports a specified user has access to. This is for an application where users will be able to search and view reports that have been archived through a separate process. </p><p>I&#39;ve searched through the developer library, but I can&#39;t find this specific information. Can I use the ObjectPrinicpals class to get this info?</p><p>Thanks!</p><p>-Dell<br /></p>

Accepted Solutions (0)

Answers (1)

Answers (1)

robert_horne
Employee
Employee
0 Kudos

Hi Dell

Great to see you are here on the forums. I hope your presentation at INSIGHT went well. A fellow INSIGHT presenter Chris Christian works with a company called CRC Business Solutions. They have a solution that they sell that which basically does what your asking about. They use the SDK to go through and find the net rights on any object for compliance. I believe they sell the source code so you may be able to work something out with them if you feel it would save time and money to work with them on it. I only bring this up because I just happened to be talking to him about it at the conference. If you want to chat with them you might want to just Google the company name.

As for how to do it your self. Yes you would want to use the object principals class to get this information. Take a look at this code below, it should get you started.

securityInfo = (IInfoObject)myObject.getSecurityInfo();

securityInfo.getObjectPrincipals()

Rob Horne

<a href="https://answers.sap.com/blog/10">Rob&#39;s blog - http://diamond.businessobjects.com/blog/10</a></p>

Former Member
0 Kudos

Business Objects is including Auditing with Professional now. An exisiting Enterprise Pro user is eligible for

auditing/publishing provided they are active on maintenance. Talk to your account manager.

Former Member
0 Kudos

Hi Robert!

Yes, the presentation went well. It was a lot of fun to do and I had a great time at the conference.

Your suggestion works great if I'm walking down through the reports looking to see who has access to them.Â

However, I need to do this starting from the User object. When I use the ObjectPrincipals of the User, I get a list of the users who have the rights to modify the user. I did a lot of work on this last week and it boils down to I'm going to have to actually log in as the user (I can use trusted authentication to do this without having the user's password) and then run a query to select all of the reports in the system - this should give me just the reports that the user has access to. Not the most efficient way to get the data from my perspective, but it should work.

This would be a great feature to have added to future versions of the SDK. I need it for a couple of purposes:

1. To gather information to set up the security in my archive viewer application.

2. For auditing purposes - we currently have only Professional licenses so I don't have access to the internal auditing functionality. Plus, I'm not sure that that includes the kind of info I'm looking for so I'm building an app that extracts information to XML which is then used by a couple of reports so that I can provide the audit info as needed.

-Dell

 - A computer only does what you told it to, not what you thought you told it to!</p>