Managing Concurrent Web Server Sessions for User

Describes how to configure or restrict the maximum number of concurrent web server sessions for a Data Fabric user.

Default Behavior

A Data Fabric web UI application, that is, the Data Fabric UI, the Object Store UI, or the Control System, does not impose any restriction on number of concurrent web server sessions for a Data Fabric user. A Data Fabric user can create as many concurrent web server sessions as they wish to, by logging in to a Data Fabric web UI application, using same user credentials, from multiple browsers and/or devices simultaneously, without logging out of any of the applications. There is no restriction on the number of sessions.

Restricting the Maximum Concurrent Web Server Sessions for User

For security purposes, you would want to restrict the maximum number of concurrent web server sessions for a user. For example, you might want to allow only a single web server session for a Data Fabric user at any given point in time.

To restrict the concurrent web server sessions for a Data Fabric user, you must set the apiserver.max.concurrent.user.sessions configuration parameter to a non-zero positive integer value. This is a global setting that applies to all Data Fabric users.

IMPORTANT
  • If you wish to restrict the maximum number of concurrent web server sessions permissible for a Data Fabric user, DO NOT configure spring security concurrency control in session-management. For example, DO NOT use code similar to the following:
    <session-management>
      <concurrency-control max-sessions="2" />
    </session-management>
  • If you change the value for the apiserver.max.concurrent.user.sessions field when the apiserver service is running on your cluster nodes, you must restart the apiserver service on all relevant cluster nodes after changing the value for the apiserver.max.concurrent.user.sessions field.

Use the config save command to set the value of apiserver.max.concurrent.user.sessions.

For example, to allow only one web server session at a time for a Data Fabric user, set the value of apiserver.max.concurrent.user.sessions to 1.

maprcli config save -values '{"apiserver.max.concurrent.user.sessions":"1"}'

See config for details on apiserver.max.concurrent.user.sessions.