LSPS documentation logo
LSPS Documentation
Customizing Behavior

Browser Session Timeout

When the user becomes inactive, the countdown of the session timeout period starts. The countdown keeps running until the user clicks into the UI including clicking empty space or focusing a field. Once the countdown has lapsed, the session is considered inactive and is destroyed by the respective service, which runs every 5-6 minutes or so.

Session timeout is set in minutes in the <session-timeout> element in the <YOUR_APP>-vaadin-war/web.xml project. Set it to -1 to disable it.

<session-config>
    <session-timeout>15</session-timeout>
</session-config>

Note on Websphere's LTPA tokens: Authentication on Websphere is done via LTPA tokens, which define their expiration time. The expiration time is not influenced by user activity.

If a session expires while the LTPA token is valid, the user remains logged in: Next time the user accesses the application, they are assigned a new session, but as their LTPA-token cookie is still valid, they are logged in to the application automatically.

Customizing Authentication

You can customize the authentication to the Application User Interface in the AppUIProvider class: check the LspsUIProvider for the relevant method; by default, getUIClass(), that serves the UI, checks whether the user is logged in and if this is not the case, it checks whether the user exists and is active. Adapt the method as required.

Switching between Vaadin 7 and Vaadin 8 UI Implementations

In your application, you can use either the Vaadin 7 or Vaadin 8 implementation of UI form components. By default, the Vaadin 8 implementation is used.

To change the UI implementation, open the DefaultLspsAppConnector class or your custom class if you extended it, and adjust the getComponentFactory() method so it returns the required UI factory implementation:

  • UIComponentFactoryV7Impl to retain the Vaadin 7 implementation
  • UIComponentFactoryV8Impl to use Vaadin 8 implementation

The implementations are not fully backwards compatible and switching between them requires thorough testing.

Important: Currently not all components are implemented in Vaadin 8 and even if you are using Vaadin 8 UI factory, Vaadin 7 implementations will be used if no Vaadin 8 implementation is available.

@ Override
public UIComponentFactory getComponentFactory() {
return new UIComponentFactoryV7Impl(this);
}

To enable the Vaadin 8 implementation on the fly, add the following cookie from the console of your browser document.cookie="switch_ui_to_vaadin_v8=true" and reload.