You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SessionRegistryImpl can be used to track sessions. We can register new sessions with it. When the session expires it'll be automatically removed, because it implements ApplicationListener.
However, as of Servlet spec 3.1 it is possible to change the id of the current session without invalidating it by calling Session.changeSessionId(). But, SessionRegistryImpl will not be aware of the change and continues to have the older session id. The older session id will never be removed.
The text was updated successfully, but these errors were encountered:
When using the changeSessionId session fixation protection strategy (which is also the default) and setting the maximumSessions to 1, the expired session information is not removed from SessionRegistryImpl.
To reproduce this, while running in debug, log in using one tab and then log in with the same user in a different tab.
Check the sessionIds list in SessionRegistryImpl.
Actual Behavior
Both the current session ID and the previously expired session ID are in the sessionIds list.
Expected Behavior
Only the current session ID should be in the sessionIds list.
SessionRegistryImpl can be used to track sessions. We can register new sessions with it. When the session expires it'll be automatically removed, because it implements ApplicationListener.
However, as of Servlet spec 3.1 it is possible to change the id of the current session without invalidating it by calling Session.changeSessionId(). But, SessionRegistryImpl will not be aware of the change and continues to have the older session id. The older session id will never be removed.
The text was updated successfully, but these errors were encountered: