none
Accessing portal apps via specific URL

    Question

  • Hi,

    Our customer has a UAG default portal configured which has a few apps published in it. All apps work when first logging in to portal and then clicking an individual app on the "webtop". Now a question has risen on the customer side that can you publish a single portal app like this:

    Your normal portal URL: http://portal.customer.com/

    Your application specific portal URL: http://portal.customer.com/portal-app1/

    The latter URL would first normally authenticate the user using the defined authentication servers on the portal, just like a normal portal login. After a successful authentication, however, the browser would open only the "portal-app1" defined in the portal applications. It wouldn't display the portal "webtop" at all, the webapp would open straight away.

    Can this be done in UAG?

    If I try to access http://portal.customer.com/portal-app1/ URL now and log in, UAG says "The URL you have requested is not associated with any application". Can I associate a portal app with this url?

    Regards,

    Matti

    Wednesday, December 29, 2010 11:45 AM

All replies

  • Hi Matti,

    Web apps published through UAG are using one of the two following types of URLs:

    1.     An application-specific hostname. For example, if the portal’s URL is portal.customer.com, the application’s URL is something like app1.customer.com

    2.     The same hostname as the portal, followed by an application-specific path (sometimes referred to as “Host Address Translation (HAT) signature”. For example, if the portal’s URL is portal.customer.com, the application’s URL is something like portal.customer.com/uniqsigfda4b1d3cd756bb9/uniqsig0/

    Either way, you can launch these UAG portal applications directly, by using their respective URL, and UAG will behave just as you wish: authenticate you, and then display that specific application.

    Alternatively, you can launch the UAG the “normal” way, which will get you to the UAG portal page, then launch the application you’re interested it, and then bookmark its URL (however, in order for you to bookmark the application’s URL and not the one of the portal homepage, you need to make sure that the application opens in a new browser window or tab).


    -Ran
    Wednesday, December 29, 2010 12:11 PM
  • Hi Ran,

    what you suggested works ok, thanks.

    However, is there any way to make the url more human readable / typable? Like tell UAG somehow that when I write the url portal.customer.com/app1/ on a browser, UAG would pick this up by some rule and redirect the url after authentication to the hard-to-type portal.customer.com/uniqsigfda4b1d3cd756bb9/uniqsig0/ ?

    This way users could type the path more easily and still get the right app in the frame by itself.

    Thanks,

    Matti

    Wednesday, December 29, 2010 12:44 PM
  • Hi Matti,

    Yes, this is possible, but it requires a little bit of scripting. Follow these instructions:

    1.     On the UAG server, in the folder …\von\InternalSite\inc\CustomUpdate , create a new file named: [TrunkName][0or1]PostPostValidate.inc 
    So, assuming your trunk is named Portal, and it is an HTTPS trunk, the file name would be: Portal1PostPostValidate.inc

    2.     In this file, add the following ASP code:

    <%

    If LCase(g_orig_url) = “https://portal.customer.com/app1” then

                g_orig_url = “http://server01/

    End if

    %>

    3.     Replace the highlighted pieces of ASP code from above, as follows:

    a.     In the first highlighted section, within the If…then statement, enter whatever you have instructed your end users to type in order to access a specific application

    b.     In the second highlighted section, enter the URL used to access the backend web server. This should match the configured Application URL, which can be seen in the Portal Link tab of the Application Properties window, in the UAG Management console

    4.     Activate and test

     

    You can obviously make the above script smarter, to handle a more complex scenario, in which you want to redirect multiple different URLs to their respective backend web apps. In that case, you would want your ASP script to be something like this:

    <%

    Select case  LCase(g_orig_url)

    Case “https://portal.customer.com/app1”

                            g_orig_url = “http://server01/”

    Case “https://portal.customer.com/app2”

                            g_orig_url = “http://server02/”

    Case “https://portal.customer.com/app3”

                            g_orig_url = “http://server03/”

    End Select

    %>

    HTH,


    -Ran
    Wednesday, December 29, 2010 4:24 PM
  • Hi again,


    I tried this script with your instructions, the multiple app version. I open up the https:// URL of the portal, I authenticate and after that I only get server error 500 message.

    The url displayed on the browser is https://port.xxx.xx/uniquesig17a3d8e25356ae194bcbf5fd0de172a5/uniquesig0/InternalSite/Validate.asp

    I have three different portal apps published and none of them work with the custom url, browser displays the error 500 message every time. Any idea on what's wrong? Could some UAG/TMG log tell me additional info on this error?

     


    Br, Matti
    Thursday, December 30, 2010 8:06 AM
  • Hi Matti,

    In most of such cases, error 500 are an indication of an ASP syntax error in your custom script. There are several approaches to try to fix this, but it takes a bit of experience. For example, you could:

    a)       Simplify the script to the maximum, just to get it working. For example, make it just one single line that will always redirect to a specific app:
    g_orig_url = “http://server01/” .
    Once that is working, you can gradually add more lines of script, while testing that it is still working as expected

    b)    Make sure you start your custom script with <% and that it ends with %>

    c)     Visually search through the script and look for typos, extra spaces, missing quotes, etc.

     

    Otherwise, I can only suggest that you either paste your script here in the Forum thread (change any confidential info first), or open a case with Microsoft Support.

    Regards,


    -Ran
    Thursday, December 30, 2010 9:25 AM
  • I'm having trouble getting this to work as well.  I need to create some application direct links just like described above, but I can't seem to get the  <PortalName>1PostPostValidate.inc file to work?  All I get is the same HTTP 500 error described above.  I only have 3 lines in the file:

    <%

    g_orig_url = http://backweb

    %>

    Any ideas?

    Monday, June 04, 2012 1:44 PM
  • For reasons unknown to me, this code started working.  Very strange.  The <Trunk>1PostPostValidate.inc file is now working as advertised.  Yeah!
    Monday, June 04, 2012 8:08 PM