Login expiration

Build 1501 on 14/Nov/2017  This topic last edited on: 21/Mar/2016, at 18:35

Regarding client software (Ted, Fred, etc), two main parameters are:

LoginTimeout (in ServerConfig.xml). It defines the time after which an idle login is considered expired and it can be deleted. Default: 20 minutes. When you use defaults, for example, a login is deleted when gn_LoginTable.gn_LastAccess is older than 20 minutes. This parameter affects only the client software.

AlivePeriod (in ServerConfig.xml). It defines the time interval in which gets updated the gn_LoginTable.gn_LastAccess in database (update performed by the keep-alive process). Default: 5 minutes.

For client software, the cleanup (Back4, srv4, server.dll) and the keep-alive are based on the above parameters.

The Web applications (GNPortal, i4) are based on IIS timeout.

All the applications have internal timers that runs in intervals and modify or control the value of the gn_LoginTable.gn_LastAccess in database. Keep-alive modifies such value, and cleanup checks it.

The following tables show where and how such timers are configured.

Keep-alive:

GNPortal

 

 

Prerequisites:

EndlessSessions="true"

in PortalConfig.xml

Timer:

window.setInterval()

javascript

When it runs:

the less between IIS Session Timeout * (default: 20 minutes) and Form Authentication Timeout ** (default: 30 minutes) minus 30 seconds.


Server method call:

KeepBrowserSessionAlive()


By default, a keep-alive is sent after:

19 minutes and 30 seconds

10 minutes since build xxxx

 

I4

 

 

Prerequisites:

none


Timer:

window.setInterval()

javascript

When it runs:

the less between IIS Session Timeout * (default: 20 minutes) and Form Authentication Timeout ** (default: 30 minutes), divided by 2, minus 30 seconds.


Server method call:

KeepBrowserSessionAlive()


By default, a keep-alive is sent after:

9 minuti e 30 secondi

10 minutes since build xxxx

 

Clients

 

 

Prerequisites:

LoginTimeout > 0

in ServerConfig.xml

Timer:

System.Timers.Timer

C#

When it runs:

2 minutes


Server method call:

..\do.ashx?cmd=LoginAlive


By default, a keep-alive is sent after:

5 minutes

AlivePeriod

 

*) in Web.config

  <system.web>

    <sessionState mode="InProc" cookieless="false" timeout="20" />

  </system.web>

 

**) in Web.config

  <system.web>

    <authentication mode="Forms">

      <forms loginUrl="Default.aspx" timeout="30" slidingExpiration="true" />

    </authentication>

  </system.web>

 

Cleanup:

Back4

 

 

Prerequisites:

cleanupLoginEnabled="true"

in back4Config

Timer:

System.Threading.ManualResetEvent

C#

When it runs:

cleanupLoginInterval (default: 5 minutes)

10 minutes for new back4Config

By default, an idle login is removed after

30 minutes

cleanupLoginLastAccess

 

Srv4

 

 

Prerequisites:

srv4 cleanup

command prompt

By default, an idle login is removed after

30 minutes

-logintime

 

Server.dll (only forclients)

 

 

Prerequisites:

CheckLoginTimer > 0

in ServerConfig.xml

Timer:

System.Timers.Timer

C#

When it runs:

5 minutes

CheckLoginTimer

By default, an idle login is removed after

20 minutes

LoginTimeout

 

Possible causes of the There is no login identified by… or “Cannot open this module: missing valid license or limit reached errors:

 

srv4 cleanup executed with the parameter –logintime less than 20 minutes? (AlivePeriod for clients or IIS Timeout for GNPortal and i4)

back4Config.cleanupLoginLastAccess less than 20 minutes? (AlivePeriod for clients or IIS Timeout for GNPortal and i4)

Unsynced clocks between server with Back4 (or srv4 cleanup) and the GN4 server?

Login removed from LogAdmin in un multi-IIS environment?

Call from one IIS to another IIS? (for example, opening the preview of a pubDest that is configured with the previewUrl that points to another IID)

The PC in hybernate or sleep that stops the keep-alive?