Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How do I set different Timeout for different Users?
#14
(03-07-2023, 07:57 PM)Mikael Nilsson Wrote: Hi,

How do I set different Timeout for different Users?

Please see my answer here:
https://www.atozed.com/forums/archive/in...d-931.html

Of course, in the StopHeartbeatTimer procedure you can have something like:


Code:
procedure StopHeartbeatTimer(AHeartbeatTimer: TIWTimer; ACount: integer);
var
  iHeartbeats: integer;
begin
  if ACount > 0 then
    iHeartbeats := ACount
  else
  begin
    // stop the timer after heartbeats and time out
    // a hearthbeat is every 20 seconds, so the timeout its (iHeartbeats * 20) seconds.
    if UserSession.LevelString = 'USER' then
      iHeartbeats := 30
    else if (UserSession.LevelString = 'AGENT') or (UserSession.LevelString = 'COMPANY') then
      iHeartbeats := 45
    else if (UserSession.LevelString = 'ROOT') or (UserSession.LevelString = 'OPERATOR') then
      Exit // do not timeout
    else
      iHeartbeats := 0;
  end;

  if AHeartbeatTimer.Tag > iHeartbeats then
  begin
    AHeartbeatTimer.Enabled := false;
    WebApplication.TerminateAndRedirect(...);
  end
  else
    AHeartbeatTimer.Tag := AHeartbeatTimer.Tag + 1;
end;

Probably not the best solution, but I've been using it for many years without any issues.
Reply


Messages In This Thread
RE: How do I set different Timeout for different Users? - by ioan - 03-21-2023, 07:45 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)