Skip to Content
avatar image
Former Member

See Dashboard without login pop up

Hi,

I've created 2 design studio applications to utilize the bookmark (portable) fragments and allow users to create their own dashboard. (and the associated URL)

These dashboard will be shown on a TV screen (managed by a zebrix NUC using the URL).

A url looks like this

http://serveradres:8080/BOE/OpenDocument/opendoc/openDocument.jsp?sIDType=CUID&iDocID=AXJ0.4HcQptOu5er0As0d1I&XBOOKMARK=AarvwqBxtOxFprTdkk6VWrU

When we try to acces this link , we get a pop up from the BI platform to login (with no authorization type selection possibility (SAP,windows AD,...).

Our authorization is pushed from SAP. So I've created a "zebrixuser" on the BIP platform and added an alias (my user for test purpose). Now login with the zebrixuser works and we see the relevant data.

Since the Zebrix NUC will be making connections I would like to know what are the possibilities so we do not have to login manually.

I've seen the creation of Tokens in the user manual and on this forum but I have the idea these tokens are created when a login on the system has already been successful?

Can we skip this login on the BIP ?

Thanks in advance

Kind regards

Bram

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

4 Answers

  • Best Answer
    May 23, 2017 at 02:24 AM

    Hi Bram,

    You can indeed bypass the login prompt by placing the appropriate code in the BusinessObjects BIP custom.jsp file. You are certainly on the right track with your question "I've seen the creation of Tokens in the user manual and on this forum but I have the idea these tokens are created when a login on the system has already been successful?". Technically, a successful login is required to create a token but for the login bypass the standard approach is to hard-code the credentials in the custom.jsp file as follows:

    1. Create a logon session with hard-coded credentials using the Session Manager API. You would apply your "zebrixuser" ID and password here;

    2. Reference the logon session to create a token using the Token Manager API;

    3. Append the token to the OpenDoc URL you have specified above and redirect to that URL.

    The standard URL that would be called from Zebrix would be as follows:

    http://serveraddress:8080/BOE/BI/custom.jsp

    This URL will launch your Design Studio application without displaying a logon prompt. Now I assume that Zebrix embeds web page content into its own "viewer" and as such does not expose the actual URL to the end user, so this minimises the security risk in that anyone in your organisation that has access to your intranet and knows or guesses the standardised generic URL could potentially display the dashboard. Assuming again that Zebrix does not display the URL to the end user, you could mitigate any security risk further by including one or more "key code" parameters in the URL that cannot easily be guessed, such as:

     http://serveraddress:8080/BOE/BI/custom.jsp?KeyCode1=HEF#aed32&KeyCode2=kl*45#@!

    for example and then check for these values in your custom.jsp logic before launching the dashboard.

    Let me know if this approach meets your requirements, in which case I can walk you through the technical details for implementation.

    Regards,

    Mustafa.

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Bram,

      You can define a Global Script Function as follows to return the value of any parameter in a URL:

      var paramStart = pURL.indexOf(pURLParam);
      
      if (paramStart == -1) {
      	
      	return ""; // return null if parameter not found
      }
      
      var paramValueStart = paramStart + pURLParam.length + 1;
      var paramValueEnd = pURL.indexOf("&", paramValueStart);
      
      if (paramValueEnd == -1) {
      	
      	paramValueEnd = pURL.length + 1;
      	
      }
      
      var paramValue = pURL.substring(paramValueStart, paramValueEnd);
      
      return paramValue;

      To retrieve the DocID you would simply execute the following code:

      var myBookmarkURL = Bookmark.PortableFragmentBookmark.getBookmarkUrl(<bookmarkID>);
      var myDocID = GLOBAL_SCRIPTS.getURLParameter(myBookmarkURL, "iDocID");
      

      Regards,

      Mustafa.

      url-function.png (172.5 kB)
      url-function.png (178.4 kB)
  • May 22, 2017 at 04:25 PM

    One option, assuming you are already logged into the platform, is mentioned here: https://archive.sap.com/discussions/thread/3917813 - set the timeout session.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    May 24, 2017 at 11:04 AM

    Dear Mustafa,

    Thank you for you clear and fast response. What you propose is actually what I need to implement so please feel free to share the technical details.

    I'm just wondering about 1 thing: . Append the token to the OpenDoc URL you have specified above and redirect to that URL.

    Since the goals of using the portable fragment is to let the user create dashboards (URL) they will also be the once placing the URL on the Zebrix. As I understand your solution, we will need to add every URL to the Custom.jsp to be able create a token? Hence missing the flexibility we would like to provide using the portable Fragments?

    Thanks for your feedback.

    Kind regards

    Bram

    Add comment
    10|10000 characters needed characters exceeded

  • Jun 27, 2017 at 08:34 AM

    Hi Mustafa,

    We've succeeded in creating an custom.jsp that allows us to call different dashboard with the Zebrix using parameters in the link.

    Thank you very much for your input.

    Another issue arrises now that has been discussed on this forum in this post :

    https://archive.sap.com/discussions/thread/3789080

    What I would like to know if you think it is possible to implement a timer in dashboards that are created using the composition application.

    After 30 minutes we have connection loss from the Zebrix nuc (as is mentioned in other posts) . I've tried your demo to test the timer and reload and it seems to be working. Im' just wondering how we can implement this reload of data in dashboards created using fragments..

    Is this possible? Where exactly (what objects) would I implement the timer?

    Thanks in avance

    Kind regards

    Bram

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Mustafa,

      I've added the timer start but still aftere 30 minutes, we lose connection with the Zebrix.

      Any other idea how to work around this .

      Btw, should i make a new post to addres this specifi issue. Time out in Composition application?

      Thanks in advance