External Authentication Beans¶
The external authentication framework consists of the following beans:
-
proxyAuthenticationProcessingFilter: Bean to which the filter chain configured in applicationContext-security-web.xml delegates authentication viadelegatingExceptionTranslationFilter. When aproxyAuthenticationProcessingFilterbean appears in an applicationContext-<customName>.xml file in the <js-webapp>/WEB-INF directory,delegatingExceptionTranslationFilterprocesses the authentication via the proxy definition instead of the defaultauthenticationProcessingFilter. -
customAuthenticationProvider: Bean for providing custom authentication. This bean takes information from the JasperReports Server login request and authenticates the user; it returns user name, roles, and organizations in a SpringuserDetailsobject.customAuthenticationProvideris invoked by Spring’sProviderManagerclass, as specified in theprovidersproperty. -
externalDataSynchronizer: Bean whose class creates a mirror image of the external user in the internal jasperserver database. The user synchronization work is performed by a list of processors specified in theexternalUserProcessorsproperty, called in the order of their appearance. This bean is invoked by theproxyAuthenticationProcessingFilterbean's class on successful user authentication. TheexternalDataSynchronizerbean has the following property:-
externalUserProcessorsproperty: Lists processors implementing theProcessorinterface. These processors run on JasperReports Server after the user has been authenticated. Mandatory processors to implement are:TenantSetupProcessor: If you have multiple organizations in your deployment, implement a bean of this class to specify the mapping from organizations in your external data source to organizations in JasperReports Server.ExternalUserSetupProcessorormtExternalUserSetupProcessor: Implement a bean of this class to specify how to synchronize external users and roles with the internal JasperReports Server database.
-
You can also write custom processors as described in Creating a Custom Processor.

Figure 1 Beans for JasperReports Server External Authentication API