Single sign-on

When JReport Enterprise Server is integrated into your system, it will implement a security check. If your system also checks security, you will have to pass through authentication twice. To deal with this problem, JReport Enterprise Server provides single sign-on APIs for you to pass login information from your external security system to the JReport Enterprise Server security system in order to avoid a second login requirement by JReport Enterprise Server after you have logged into your external system. You can either disable the JReport Enterprise Server security check or customize security for JReport Enterprise Server by implementing the interface - jet.server.api.http.HttpExternalAuthorized.

Interface ExternalAuthorized

The interface jet.server.api.ExternalAuthorized maintains externally authorized user sessions. It has the following methods:

Interface HttpExternalAuthorized

The interface jet.server.api.http.HttpExternalAuthorized extends jet.server.api.ExternalAuthorized. By this interface, the report server gets the user ID that was authorized by an external authenticator. It has the following methods:

Implementation

For implementation in an integration environment, the following steps are required:

  1. Write your HttpExternalAuthorized implementation.
  2. Compile Java classes. Compiling requires the library JRESServlets.jar, which can be found in WEB-INF\lib directory.
  3. Create a folder classes in the WEB-INF folder and then add the authentication classes in the classes folder.
  4. Define the system property jrs.httpExternalAuthorized with your implementation by -D parameter.

    For example, assuming that the implementation of this interface is com.mycorp.HttpExternalAuthorizedImpl.class:
    -Djrs.httpExternalAuthorized=com.mycorp.HttpExternalAuthorizedImpl

Demos

The following demo programs are provided to illustrate the implementation of the HttpExternalAuthorized interface. These demos are available in <install_root>\help\server\en\samples.