locked
SRS Data Connector (CRM 4.0) - How does it work ? RRS feed

  • Question


  • Hi,

    Does anyone have specific implemetation details for how the SRS Data Connector bypasses the need for Trust for Delegation when making calls to Filtered Views?

    I know it uses the app pool account for CRM (usually Network Service) to make the connection to the database and then somehow applies a filter using the currently logged on user to restrict the result set.

    I thought a quick SQL Server Profile Trace would reveal the answer but no such luck for some reason. I know they really have to be applying the filter at the database query level as they can't just be dragging all the results into the SRS Data Connector and then applying the filter as this makes no sense.


    Even tried using reflector on some of the SRS Data Connector components but looks like its just the installer components that are written in .NET so no luck there either.

    I'm sure this is a technique alot of other partners \ customers would love to take advantage of through queries to filtered views  on custom ASPX pages. Maybe theres a way to route these queries through the SRS Data Connector??

    Any thoughts??

    Thanks
     John
    Wednesday, April 23, 2008 8:18 AM

Answers

  •  

    The CRM data source type in SSRS sets the GUID of the CRM user running the report in the context_info in SQL.  The filtered views can then read this out and filter the results based on the CRM user's ID (as opposed to using the credentials of the SRS app pool)

     

    Take a look at this function in your organization DB (this is used in the filtered views):

    fn_FindUserGuid

     

    You can see this in a SQL server trace, the challege was finding it  Smile

     

    Dan

    Tuesday, July 22, 2008 3:51 PM

All replies

  •  

     

    http://support.microsoft.com/kb/913071/ja

     

    If you have the SSRSS database on a different server than the SSRS application, you might be having trouble with passing authentication information from the client to the SSRS application server to the database server. That was my issue, as we do not have Kerberos 5 on our network yet.

    Try going to
    http://www.eggheadcafe.com/articles/20040823.asp
    to read more.

    http://www.eggheadcafe.com/articles/20040823.asp
    to read more.

     

    Regards,

    Imran

    http://microsoftcrm3.blogspot.com

    Wednesday, April 23, 2008 8:57 AM
    Moderator

  • I'm not having any problems with running of reports I just wanted to know the inner workings of the new SRS Data Connector for MS CRM 4.0.


    John
    Thursday, April 24, 2008 8:14 AM
  •  

    The CRM data source type in SSRS sets the GUID of the CRM user running the report in the context_info in SQL.  The filtered views can then read this out and filter the results based on the CRM user's ID (as opposed to using the credentials of the SRS app pool)

     

    Take a look at this function in your organization DB (this is used in the filtered views):

    fn_FindUserGuid

     

    You can see this in a SQL server trace, the challege was finding it  Smile

     

    Dan

    Tuesday, July 22, 2008 3:51 PM
  • This select did the trick (about getting right user info on developement pc or production site with SRS DC):

    select fullname from FilteredSystemUser where (CONTEXT_INFO() is null and domainname=SUSER_NAME()) or (CONTEXT_INFO() is not null and systemuserid = CONTEXT_INFO())

    (this sample is for a "UserInfo" DS used to print user name on report).
    Sunday, April 5, 2009 3:00 PM