Mar 27, 2026 - For details about updated CVE-2025-53521 (BIG-IP APM vulnerability), refer to K000156741.

Forum Discussion

Dev_56330's avatar
Dev_56330
Icon for Cirrus rankCirrus
Aug 15, 2017

APM Session Timeout, Requires Constant Browser Refresh

I am looking for a solution where after a APM session times out, the page is sent to a new logon screen rather than the typical session timeout splash screen. Anyone have a solution?

 

3 Replies

  • Hi,

    You can write a custom peace of javascript code that you insert in the advanced customisation of your Access profile.

    Or you can just override the javascript used to generate the splash screen when the session timed out by using an irule that intercept the request to the js object and respond with your own javascript that redirect the user to the login page.

    You have a third solution. If I remember correctly, the splash screen is triggered when the browser receive a 404 status code in a response to a request to the timeout agent.

    The javascript used to generate the splash screen may be /public/include/js/session_check.js

    The request made to the timeout agent is : /vdesk/timeoutagent-i.php

    Hope it helps

    Yann

    • Dev_56330's avatar
      Dev_56330
      Icon for Cirrus rankCirrus

      Thanks Yann. Was really hoping I wasn't the only one who has ever run into this and had already developed confirmed functioning iRule to redirect to logon page.

       

    • Yann_Desmarest's avatar
      Yann_Desmarest
      Icon for Cirrus rankCirrus

      Hi,

      You can modify the following content within "session_check.js".

       

          //============================================================
              // Show timeout splash layer
              //============================================================
              showSplashLayer: function(elementId, customizedText){
                  var d = document.getElementById(elementId);
                  if (d != null) {
                      try {
                          d.className = 'inspectionHostDIVBig';
                          customizedText = customizedText.replace(/\[SESSION_RESTART_URL\]/g, this.landingUri);
                          d.innerHTML = customizedText;
                          var b = document.getElementsByTagName("body");
                          if (b != null) {
                              this.disableAllElements(b[0], d);
                          }
                      }
                      catch (e) {}
                  }
      

       

      It's not 100% supported, but you can modify that file through SSH acccess. I usually run a find command to retrieve the path of the file and then I modify the content.

      Alternatively, you can copy the content of that file and insert the modified content using an irule with ifile or hosted content