Forum Discussion
As far as I can tell, full webtop, resource webtop links always opens up resources in a new tab.
- JurajJan 09, 2018Cirrus
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-messengerJan 25, 2019Cirrostratus
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_Jan 25, 2019Historic F5 Account
Here's an irule that can work around this issue in some cases. Basically here's the basic working condition:
- User visits / URL with a new browser session
- User is given session cookie and goes through access policy
- User is assigned a webtop
- 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 } }