What is a session; in which senses is it used in TR7?
Short answer
A session is an interaction with a client in which state information is kept for a certain time; in web applications, it is thanks to the session, which is created after login and mostly carried with a cookie, that the user does not log in again at every request. In TR7, the term appears in three senses. The AGS session is the session that opens when the client enters the access flow and that carries the authentication state and the user information; it is listed on the Sessions tab of the AGS-enabled vService, and its duration, its binding to the client and its concurrent number are limited with Session Protection Policies. The management session is the session of a user who has logged in to the TR7 interface; it appears in the User Sessions list on the Device Users screen, and its idle time is limited with HTTP(s) TR7 Idle Session Time (default 3 hours). vService Sessions in the Load Balancer, on the other hand, are the connections open on the vService at that moment; one user can open more than one connection.
Where It Is Used in TR7
| Where | Field / label | What for |
|---|---|---|
| AGS-enabled vService → Sessions | Session ID, Auth State (Authenticated / Unauthenticated), Last activity, Expires At, TTL, Provider; Revoke Session(s) | Monitoring and terminating the AGS sessions of application users |
| AGS → Protection Policies → Session Protection Policies | Session Binding Type, Session Idle Timeout, Session Absolute Timeout, Maximum Concurrent Sessions | The binding of the AGS session to the client, its duration and its number per user |
| AGS-enabled vService → Dashboard | AGS Concurrent Sessions | Monitoring the number of concurrent AGS sessions |
| Settings → User Management → Device Users | User Sessions (Kick User), CLI Sessions, Custom Idle Session Time, Max. Sessions per User | Monitoring, terminating and limiting the management interface and CLI sessions |
| Settings → Device Management → Management Access | HTTP(s) TR7 Idle Session Time (default 3 hours, at most 24 hours) | The time after which an idle session in the management interface closes |
| vService → Logs & Tracking | vService Sessions | The instant list of the open connections on the vService |
| vService → Dashboard | Frontend Concurrent Sessions | Monitoring the number of concurrent connections |
Meanings
| Context | What it holds | Where it is monitored |
|---|---|---|
| AGS | The application user's authentication state and information | AGS-enabled vService → Sessions |
| Management | The management user who has logged in to the TR7 interface or the CLI | Device Users → User sessions, CLI sessions |
| Load Balancer | The open connection between the client and the vService | vService → Logs & Tracking → vService Sessions |
Common Misconceptions
- "Session and persistence are the same." Persistence is a client always being sent to the same Backend Service (What is persistence?); a session, on the other hand, is the state information kept by the application or by AGS. If the application keeps the session in the server's memory, persistence is required.
- "vService sessions shows the number of users." The list shows the open connections; the browser of a single user can open more than one connection.
- "Closing the AGS session also closes the application's own session." Revoke Session(s) deletes the AGS session, and the user enters the access flow again; the own session of the application behind it is managed separately (Backend SSO Configurations).
How it is done in the documentation
