in

Prologika Forums

Business Intelligence to the Masses
Latest post 03-14-2008 9:16 AM by tlachev. 3 replies.
Page 1 of 1 (4 items)
Sort Posts: Previous Next
  • 03-13-2008 12:50 AM

    Finding the Item name for which the CheckAccess Method is invoked

    Hi..

     I am stuck in a very strange problem.

    I am making a call to RS.ListChildren("/") with the root folder as a parameter. When I try to debug into the Custom Security Extension I could not find a way through which I can get the ItemName / Reportname for which the Access is beign checked. I googled to find out the solution but did not have much luck.

    Could you please explain and give me a solution for this.

     Thanks,

    Nilesh Gokhale.

    Filed under:
  • 03-13-2008 2:23 PM In reply to

    Re: Finding the Item name for which the CheckAccess Method is invoked

    Currently, RS doesn't provide you with the security descriptor. Please read this thread for a workaround.

  • 03-14-2008 1:05 AM In reply to

    Re: Finding the Item name for which the CheckAccess Method is invoked

    Thanks Teo,

    1-> Actually I did read the thread and have already implemented the code. My Problem is when I try to use list children the <Item> element is nothing but a "/"

    Ans 1-> Ok for the above problem I can just have a workaround and filter the reports in my application. But how can I filter it in Report Builder?

    2-> Another problem I am facing is when a user access a report through report builder and tries to save it.

    I have a certain directory structure and specific access rights to these directories

    Ex:

    Root->CommonReports - Read Access to all user

    Root->Folder with specific username - Full access if the username=directory name

    Root->CommonReports->GroupFolders - Read access to all reports to users whos groupname=GroupFolder

    Root->Any Other direcotries - Access only to Administrator.

    In above scenario when I tried to run a report using Report Builder the user is able to save to any of the directories. May be there is a problem in my implementation and I am trying to find out why this happens. 

    When I debugged the security extension when a user is trying to save the report, I found out that the reportname of the report which is being saved is only availabe when the Overloaded CheckAccess Method for ModelOperations is called.

    For other Overloaded Method only "/" is returned.

    I could not understand this behaviour. Could you please explain?

    Filed under:
  • 03-14-2008 9:16 AM In reply to

    Re: Finding the Item name for which the CheckAccess Method is invoked

    ListChildren on the root level returns all resources that the user is authorized to access. You cannot "debug" CheckAccess if this is what you after because it is a single operation. However, any other operation, such as the user tries to save a report to a folder, will be a subject of authorization checks and the report server will call the appropriate checkaccess overload. A Report Builder report should be treated as any other report. Specifically, the Report Builder calls the following APIs when you save a report:

    1. GetItemType
    2. CreateReport
    3. SetItemDataSource

    Each of these calls should trigger a CheckAccess call.

Page 1 of 1 (4 items)
Copyright © 2005 Prologika, LLC
Powered by Community Server (Commercial Edition), by Telligent Systems