Forum Discussion

Thrillseeker_12's avatar
Oct 17, 2016

APM open webtop links in new browser tab?

Hi,

 

Just wondering if it's possible to open an webtop link in a new browser tab? If i use portal access links it's working, but if I use normal webtop links on the same webtop it's not working and will always be opened in the same tab.

 

any ideas? Thanks Thrillseeker

 

5 Replies

  • Update It seems that "normal" webtop links will be openend in new tab. I tested with a simple link to google.com. In my setup the webtop link points again to the Portal VIP (e.g. https://portal.mydomain.com/ApplicationA) which has a default pool assigned. We need that default pool on the portal VIP for a special application where portal access does not work because of a WSS rewriting issue. Also with this approach we do not need additional public IP's for that specific application.

     

    It's strange the new tab stays open only 1-2sec and will be closed and then the website (default pool) will load in the same tab as the previous APM portal site...strange... Everything works, but unfortunately always in the same browser tab.

     

    Any help is very appreciated Thrillseeker

     

  • Lucas_Thompson_'s avatar
    Lucas_Thompson_
    Historic F5 Account

    As far as I can tell, full webtop, resource webtop links always opens up resources in a new tab.

     

    • Juraj's avatar
      Juraj
      Icon for Cirrus rankCirrus

      Is it possible to configure webtop for the web application to stay in the same tab/window, instead of opening a new tab/window?

       

    • The-messenger's avatar
      The-messenger
      Icon for Cirrostratus rankCirrostratus

      Continuing the original question - is it possible to configure a webtop link to open a new tab and not change the portal tab?

       

      When users click a tab on my webtop link this does open a new tab but the tab they started from changes to from the dynamic portal page to the URI for the webtop link also. Now the user has 2 tabs, both displaying the page for the webtop link. Users expect if they click the tab where they started, they will see the webtop page.

       

    • Lucas_Thompson_'s avatar
      Lucas_Thompson_
      Historic F5 Account

      Here's an irule that can work around this issue in some cases. Basically here's the basic working condition:

      1. User visits / URL with a new browser session
      2. User is given session cookie and goes through access policy
      3. User is assigned a webtop
      4. User is redirected to webtop URL

      Now if the user opens a new tab and does step 1 again, the session is destroyed and they can go through those steps again to get the webtop. The session is only destroyed if a webtop is assigned. If you're using LTM+APM mode (no webtop, it goes to just the pool instead), then the / URI request is simply delivered to the pool server.

      You can intercept step 1 and check if a user has a session, then do some custom stuff. This irule is simple to modify to suit your use case.

       apm_dont_logout_if_new_tab
       
       Tested in v11.4.0
      
       If you hit APM logon page with another already-logged-in browser tab or window open, your 
       old APM session is destroyed, in favor of the new one. This workaround irule looks up the 
       existing session and will return an error page instead.
      
      
      
       This functionality is different than other typical Web applications, where a log-in is required
       to destroy the old session. APM sets the session cookie *immediately* upon hitting the login page,
       in order to allow a more flexible approach to the programmability of the login process.
      
      
      when RULE_INIT {
        
         mode 1 = display error page on user browser if logged on user is already active
         mode 2 = redirect the user to their current landing URI (full webtop, etc)
                              
         Set mode here  \/  
      
        set static::mode  2
      
      }
      
      when HTTP_REQUEST {
        if { ([HTTP::uri] == "/") && [HTTP::cookie exists MRHSession ] && [ACCESS::session exists] } {
          HTTP::close
      
          switch $static::mode {
            1 {
              HTTP::respond 200 content "Please close 
              this browser window or exit your current remote access session before visiting 
              the login page.
      Or, "
            }
      
            2 {
              set starturi [ACCESS::session data get "session.policy.result.start_uri"]
              log local0. "redirecting to starturi: $starturi"
              HTTP::respond 302 Location "$starturi"
            }
            default {
              return
            }
          }
          return
        }
      }