Redis session cache process flow

In a Redis session cache environment, the client browser sends requests to the WebSEAL server cluster, which then interacts with the Redis server for session management.

The following diagram shows the basic process flow for session management in an environment where WebSEAL is configured to use a remote Redis session cache:

  1. A user makes a request for a protected object located in the Web space of vhostA. WebSEAL A intercepts the request and creates a local cache entry for the user. WebSEAL A prompts the user to log in.
  2. The user provides authentication data to WebSEAL. WebSEAL updates the local session cache entry with the client's credential. Maintaining a local session cache improves the performance of that specific WebSEAL server during future requests for resources.
  3. WebSEAL A notifies the Redis server of the new session and the associated credential information. The Redis server maintains this information in its own database.
  4. WebSEAL A sends a session cookie to the user's browser.
  5. An additional request for a resource on vhostA by the same user, using the same session cookie, fails over to another server in the replica set (WebSEAL B).
  6. Using the session cookie, WebSEAL B consults the Redis server to determine whether the user has already authenticated and the name of the collection of Redis servers which is storing the session. The Redis server replies with the user's cached credential.

    WebSEAL B uses the credential to trust the user and allows the request for the resource to proceed. The user is not prompted to login again.