ReportDesignerConfigurationBuilder.RegisterDataSourceWizardJsonConnectionStorage<T>() Method

Registers a custom service that stores and provides JSON connections.

Namespace: DevExpress.AspNetCore.Reporting

Assembly: DevExpress.AspNetCore.Reporting.v21.1.dll

Declaration

public ReportDesignerConfigurationBuilder RegisterDataSourceWizardJsonConnectionStorage<T>()
    where T : class, IDataSourceWizardJsonConnectionStorage

Type Parameters

Name Description
T

The type of the class that implements the DevExpress.DataAccess.Web.IDataSourceWizardJsonConnectionStorage interface.

Returns

Type Description
ReportDesignerConfigurationBuilder

A ReportDesignerConfigurationBuilder class instance.

Remarks

The connection storage receives, stores, and provides JSON connection strings on demand.

The following code in the DevExpress ASP.NET Core Controls Demo registers services at the application startup:

public class Startup {
// ...
public void ConfigureServices(IServiceCollection services) {
// ...
services.ConfigureReportingServices(configurator => {
    configurator.ConfigureReportDesigner(designerConfigurator => {
// ...
    designerConfigurator.RegisterDataSourceWizardJsonConnectionStorage<CustomDataSourceWizardJsonDataConnectionStorage>(true);
});
configurator.ConfigureWebDocumentViewer(viewerConfigurator => {
// ...
            viewerConfigurator.RegisterJsonDataConnectionProviderFactory<CustomJsonDataConnectionProviderFactory>();
        });
    });
}
// ...
}

A user specifies credentials in the JSON Data Wizard to connect to the JSON data source. When the Wizard is finished, credentials are encrypted and saved. A malicious user can specify various credentials and analyze the encrypted result in an attempt to find the cryptographic key. The connection storage prevents a malicious user from accessing the encrypted credentials used in the data source connection string.

See Also