Based on our issue from 2 years ago, we implemented ISharedDataSourceResolver as a fix: https://www.telerik.com/forums/pass-user-claimsprincipal-from-reportscontroller-to-webservice-datasource-controller
It is registered in our Appsettings.json:
If I put a breakpoint on Resolve(), this breakpoint is hit on version 18.2.24.806 of Telerik.Reporting.Services.AspNetCore and Telerik.WebReportDesigner.Services. But if I upgrade those dependencies to 19.2.25.813 the breakpoint is no longer hit and the previously discussed fix no longer works.
public class CustomSharedDataSourceResolver : Telerik.Reporting.Processing.Data.ISharedDataSourceResolver
{
/// <summary>
/// Resolves and returns a DataSource instance from the provided <paramref name="sharedDataSourcePath"/> parameter.
/// </summary>
/// <param name="sharedDataSourcePath">The value of the Path property obtained from the report definition. Might be relative or absolute.</param>
/// <returns></returns>
public DataSource Resolve(string sharedDataSourcePath)
{
ValidateConfiguration();
var absolutePathToSharedDataSourceDefinition =
GetExistingFilePath(Configuration.Instance.ReportsPath, sharedDataSourcePath)
?? GetExistingFilePath(Configuration.Instance.SharedDataSourcesPath, sharedDataSourcePath);
[...]{
"ConnectionStrings": {[...]},
"AllowedHosts": "*",
"AzureStorageBlobConfig": {[...]},
"Logging": {[...]},
"TelerikReporting": {
"Processing": {
"SharedDataSourceResolver": {
"Provider": "custom",
"Parameters": [
{
"Name": "typename",
"Value": "TgsFlow.Plugin.Reporting.TelerikReporting.Utilities.CustomSharedDataSourceResolver, TgsFlow.Plugin.Reporting.TelerikReporting"
}
]
}
}
}
}