Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Describe web session life time #728

Open
alexbudarov opened this issue Jul 20, 2020 · 1 comment
Open

Describe web session life time #728

alexbudarov opened this issue Jul 20, 2020 · 1 comment
Assignees
Milestone

Comments

@alexbudarov
Copy link
Member

Description of the bug or enhancement

See questions like asked in this forum topic: https://www.cuba-platform.com/discuss/t/session-timeout/13027

If I am not wrong, currently in the developer's manual there is no single page describing aspects of web session life time.
Only scattered configuration properties.

We should create separate page that describes behavior in one place.

What should be said:

  • In web client there are two sessions: web session and CUBA user session. Web session stored Vaadin UI components and is stored on web layer, while CUBA user session is stored on core layer in jgroups cluster, it stores security data and session attributes.
  • Lifetime of these sessions are configured by 2 different parameters: cuba.httpSessionExpirationTimeoutSec and cuba.userSessionExpirationTimeoutSec
  • Ideally these two parameters should have the same values. If not equal, CUBA user session timeout should be > web session timeout.
  • In web client there is such thing as heartbeat. If at least one browser window is active, web client periodically pings both web session and user session, not allowing it to expire.
  • heartbeat interval is configured by cuba.web.uiHeartbeatIntervalSec parameter.
  • you can turn on "cuba.web.closeIdleHttpSessions" and enable closing of idle http sessions, regardless of heartbeat.
  • each heartbeat request fires a SessionHeartbeatEvent - fired on heartbeat requests from a client web browser. (already mentioned in docs). You can use if for your own purposes.

Consult with web team guys what else should be mentioned.

@knstvk knstvk added this to the Doc 7.2 milestone Jul 20, 2020
@knstvk
Copy link
Member

knstvk commented Jul 20, 2020

Do it in a branch plz.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants