cancel
Showing results for 
Search instead for 
Did you mean: 

linking a WEBI report through hyperlink in a webpage using open document

Former Member
0 Kudos

Hi All,

I have a hyper link in a web page which when clicked should open a WEBI report. I created it using the open document feature.

Once clicking on the link, InfoView login credential page is displayed. After logging in the report runs.

My client does not want the login page to be displayed since most of the users does not remember their password (since SSO is implemented).

He wants to bypass this login page so that most of the users can directly view the reports.

Question:

Is there a way to achieve this i.e without asking for login credentials or by passing this?


Possibilities :

1: To create ID's for all the people (which I think is not a feasible option in my project)

2: Create a guest account with minimum privileges and share the password with all the users.

Note:

1: I use BO XI R 3.1.

2: No SDK is installed to do any programming.

Any suggestion are most welcome.


Thanks in advance

Shreyas

Accepted Solutions (0)

Answers (1)

Answers (1)

DayaJha
Active Contributor
0 Kudos

Hi Shreyas,

Manual Easy Way for doing the activity in SAP Business Objects 4.0:

This method is useful if we have a special system account that we want everyone to use.

You will notice that all we do is generate a logon token using the appropriate username, password and CMS variables. Then we append the token onto ivsLogonToken.

Note: The numbers on the url after /BOE/portal represents the timestamp of the last patch or install.  You can put whatever you want under the number section and Business Objects will automatically redirect to the appropriate start.do

Step I:

Go to the SAP BusinessObjects\Tomcat6\webapps\BOE\WEB-INF\eclipse\plugins\webpath.InfoView directory and edit custom.jsp

Step II:

You can copy the contents from the custom.jsp that I’ve provided below to your custom.jsp.

Cutom.JSP File

<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>

<%@ page import="com.crystaldecisions.sdk.framework.*" %>

<%@ page import="com.crystaldecisions.sdk.occa.infostore.*" %>

<%@ page import="com.crystaldecisions.sdk.occa.security.*"%>

<%@ page import="java.net.*"%>

<%@ page import="com.crystaldecisions.enterprise.*"%>

<%@ page import="com.crystaldecisions.sdk.plugin.admin.*"%>

<%@ page import="java.sql.*"%>

<%@ page import="com.businessobjects.webutil.Encoder" %>

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"

    pageEncoding="ISO-8859-1"%>

<%

//BO Session and redirect to Infoview

IEnterpriseSession enterpriseSession;

/* * Set Enterprise Logon credentials. */

final String BO_CMS_NAME = "bi4server";

final String BO_AUTH_TYPE = "secEnterprise";

final String BO_USERNAME = "Daya";

final String BO_PASSWORD = "admin@123";

ILogonTokenMgr logonTokenMgr;

String defaultToken = "";

/*

* Log onto Enterprise

*/

boolean loggedIn = true;

try {

//Create session token

enterpriseSession = CrystalEnterprise.getSessionMgr().logon(Daya,admin@123, BI4SERVER,Enterprise);

logonTokenMgr = enterpriseSession.getLogonTokenMgr();

defaultToken = logonTokenMgr.createWCAToken("", 20, 1);

//Redirect with token attached to the ivsLogonToken parameter

response.sendRedirect("http://"+BO_CMS_NAME+":8080/BOE/portal/1205291547/InfoView/logon/start.do?ivsLogonToken="+Encoder.encodeURL(defaultToken));

}

catch (Exception error)

{

loggedIn = false;

out.println(error);

}

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>Insert title here</title>

</head>

<body>

</body>

</html>

Edit the username,Password & BOBJ Server Name'in BOLD Letter

Step III:

Stop tomcat, then delete contents in the SAP BusinessObjects\Tomcat6\work directory.

Then start tomcat again and the work directory will be regenerated with new code.

Step IV:

Trusted Authentication:

Trusted Authentication is a component of Enterprise authentication that integrates with third-party single sign-on solutions, including Java Authentication and Authorization Service (JAAS). Applications
that have established trust with the Central Management Server can use Trusted Authentication to allow users to log on without providing their passwords.

This method is really cool because users don’t even have to know their passwords.  Basically with this method you can log into another system and if that system has the appropriate user name, you can pass it to the custom.jsp and then it will log you into BI Launchpad.

In addition, you don’t need to create any java code for the enterprise token setup.

Step V:

In the CMC, go to Authentication, then select Enterprise.  Check Trusted Authentication is enabled, then click on New Shared Secret.  Finally download the shared secret key and keep it somewhere secure

Step VI:

Copy global.properties from <INSTALLDIR>\SAP BusinessObjects Enterprise XI 4.0\warfiles\webapps\BOE\WEB-INF\config\default into <INSTALLDIR>\SAP BusinessObjects Enterprise XI 4.0\warfiles\webapps\BOE\WEB-INF\config\custom.  Then using Notepad or another text editing utility, edit the following properties

sso.enabled=true

trusted.auth.user.retrieval=WEB_SESSION

trusted.auth.user.param=UserName

trusted.auth.shared.secret=<secret code from properties file you created in step 2>


Step VII:

Go to the SAP BusinessObjects\Tomcat6\webapps\BOE\WEB-INF\eclipse\plugins\webpath.InfoView directory and edit custom.jsp


<\!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<%@ page language="java" contentType="text/html;charset=utf-8" %>

<%

//custom Java code

request.getSession().setAttribute("MySecret","32efbfbd35efbfbdefbfbd4363efbfbdefbfbd694aefbfbdefbfbd227530efbfbd5742efbfbd13efbfbd2befbfbd1fefbfbdefbfbdefbfbdefbfbd4e49efbfbd41550cefbfbd15703619d8b8efbfbd6cefbfbdefbfbd57efbfbd0defbfbdefbfbdefbfbd0605efbfbd6dc59b2728efbfbd");

request.getSession().setAttribute("UserName", "Daya");

%>

<html>

<head>

<title>Custom Entry Point</title>

<script type="text/javascript">

function goToLogonPage() {

window.location = "logon.jsp";

}

</script>

</head>

<body>

<a href="javascript:goToLogonPage()">Click this to go to the logon page of BI launch pad</a>

</body>

Edit the username(Daya) variable


Step VIII:

Stop tomcat, then delete contents in the SAP BusinessObjects\Tomcat6\work directory.

Then start tomcat again and the work directory will be regenerated with new code.


Hope this help you as well.

Thanks,

Daya







Former Member
0 Kudos

Thanks Daya for the info.

We have R3.1 installed here.Can these steps be used for XI 3.1 ?

Or

Are there any other steps separetely for XI R3.1 ?

DayaJha
Active Contributor
0 Kudos

Hi Shreyas,

It is possible to customize InfoView. However there have been some significant changes between XI R1/R2 and XI 3.x.

There are some whitepapers available for XI R1/R2

But I haven't found a document either that describes this in a comprehensive way for XI 3.x.

The following link describes how to customize in XIR2:

http://resources.businessobjects.com/support/communitycs/TechnicalPapers/be_xi_r2_customizing_info

Hope this help you as well. After completion of your activity please close the thread.

Thanks,

Daya

Former Member
0 Kudos

Hi Daya,

I read you answer, it is very detailed and seems easy to implement but... there are some aspects that may lead to confussion.  Correct me please if I am in a mistake:

Step II:


Cutom.JSP File should be Custom.JSP File but the thing in this step is that custom.jsp file does not exist  in the specified folder but exists in subfolder [your path]\web  (it is possible that this new location comes from newer SP's)

Also in Step II, when setting logon credentials,  don't we have to indicate the CMS port at string: BO_CMS_NAME (question just to be sure).  But it's logical not to have to indicate because later we use this parameters  when creating the session token.

Please, take a look at //Create session token:

enterpriseSession = CrystalEnterprise.getSessionMgr().logon(Daya,admin@123, BI4SERVER,Enterprise);

When you say Enterprise after BI4Server, should not it say secEnterprise?

I think we could use parameters given before when setting Enterprise logon credentials.

Step VI:

trusted.auth.shared.secret=<secret code from properties file you created in step 2> It's Step V!!!


Step VII:


Here I'am lost :disappointed_face:  do we have to edit the same file we edited at Step I?

Dear Daya, I'd really be grateful if you could give some ligth on it.  I have to face the same requirements as Shreyas and your guide is the best detailed tutorial I found (congratulations for it).

Many thanks in advance for your help.

Lluís Rull

Business Analyst at Pintaluba Group.

Former Member
0 Kudos

hi daya,

I need to your help to implement the process which s above given by you.

Until step 5 i have done,after that i have some doubts for upcoming steps.

Really appreciate your help.

Reply ASAP

DayaJha
Active Contributor
0 Kudos

Hi Maya,

Please refer the below link and SCN Thread for more details

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f0daee1d-0e38-2d10-0c91-8bb4ab5aa...

Thanks,

Daya

Former Member
0 Kudos

Daya,

I have done all the steps which you said.

I made the changes in Dev server.

Now i need create ID in CMC DEV?

Kindly help me out plz

DayaJha
Active Contributor
0 Kudos

Create a new user id in Central Management Console, and update the details in above mentioned steps.

Steps for Creation of New User ID:

  • Login in Central Management Console using Administrator Group User ID
  • Click on Users & Groups
  • Create new user and click on Save.

Hope this will help!!!!

Thanks,

Daya

Former Member
0 Kudos

Daya,

I created all the steps which you mentioned.

I made changes in BO DEV SERVER.

so for CMC ID creation i need to make it in DEV SERVER?

If possible can you plz send me the Screenshots how to create user ID in CMC?

DayaJha
Active Contributor
0 Kudos

Steps for Creation of New User ID:

  • Login in Central Management Console using Administrator Group User ID

  • Click on Users & Groups

  • Click on User List

  • Create new user and click on Save.

Hope this will help!!!!

Thanks,

Daya

Former Member
0 Kudos

Daya,

Really really thanks

But last screenshot i have some doubts.

Authentication type,account name,full name and password?? what i should i enter?

DayaJha
Active Contributor
0 Kudos

Authentication type,account name,full name and password?? what i should i enter?

Default Authentication is Enterprise, If in your environment Other Authentication like SAP, Windows AD,LDAP,SIEBAL,ORACLEAPPS is configure then select that type or esle go for Enterprise.

Account Name, Full Name & Password: You have to update Accoune Name & password fiels is mandatory, you can use any account name for e.g:

User Name: BO_User

Password:admin123

Authentication: Enterprise

Thanks,

Daya

Former Member
0 Kudos

Daya,

Can i use the same username and password, which used in server side?

DayaJha
Active Contributor
0 Kudos

Below is the updated details:

/* * Set Enterprise Logon credentials. */

final String BO_CMS_NAME = "<Your Machine Name where BO Applictaion deployed>";

final String BO_AUTH_TYPE = "secEnterprise";

final String BO_USERNAME = "BO_User <User ID Created in above BO Environment";

final String BO_PASSWORD = "admin123";

ILogonTokenMgr logonTokenMgr;

String defaultToken = "";

Thanks,

Daya

Former Member
0 Kudos

Daya,

Just conform whether i can use the same user name and password for the details which i have given in the sever side, the same i can use it in CMC..

And i need to chat with you personnel regarding BO in private chat..If possible.

I m trying to implement the SSO for more then couple of weeks

DayaJha
Active Contributor
0 Kudos

Yes you can use the same details in above /* * Set Enterprise Logon credentials. */ configuration settings.

Thanks,

Daya

Former Member
0 Kudos

Daya,

Created New User ID in CMC.

But my Developed Reports are in Production and how i can transfer the reports from Production to Development to my new user BO??

DayaJha
Active Contributor
0 Kudos

Please refer below link for transport of Business Objects reports from one environment to other.

Hope this will help!!!!

Thanks,
Daya

Former Member
0 Kudos

Daya,

I created new ID in CMC as you said. But i could not get any sever to get the reports

how should i connect to the server?

DayaJha
Active Contributor
0 Kudos

Please refer below link for transport of Business Objects reports from one environment to other.

Promotion Management in SAP Business Objects BI Platform 4.0

Hope this will help!!!!

Thanks,
Daya

Former Member
0 Kudos

Daya,

I m getting this error in which i have created for enterprise with username and pass

DayaJha
Active Contributor
0 Kudos

Hi Maya,

Please share the below details.

(a) Current SAP Business Objects Application Version.

Because this issue is addressed by SAP BusinessObjects Business Intelligence 4.0 SP4

Please refer the below KBA.

1633228 - Error: "Unexpected error : You are not authorised to design this query QWS 2718" in SAP BO BI 4.0

https://service.sap.com/sap/support/notes/1633228

Thanks,

Daya

Former Member
0 Kudos

Daya,

(a) Current SAP Business Objects Application Version 4.0


I m refering your link

Former Member
0 Kudos

Daya,

whether i Have to admin lD for CMC

or

My new Id CMC?

DayaJha
Active Contributor
0 Kudos

Just add that user in your Administrators Group available in user & Group Section.

Here User*: - User that you are created for Hyperlink or create new user and add in Administrators Group

Thanks,

Daya

Former Member
0 Kudos

Daya,

I m stucking up with 5th point

  1. Give Full Control access to QAAWSGroup on Folders,Universes,Connections and Web Intelligence Application.

Kindly share me the screenshots plz

DayaJha
Active Contributor
0 Kudos

Just add that user in Administrators Group it will resolve your issue.

Thanks,

Daya

Former Member
0 Kudos

Hi Daya!

Thanks for detailed guide.

I have made all steps that you described but still when I am using hyperlink in my webi report it asks for login/pass...

So I have several questions:

1. step 6

Should I edit global.properties in custom or default folder?

2. Should I apply any changes to user that I specified in Step 7 of your guide?

I have even specified user_id and password in hyperlink text like this:

&user=tech_report&password=Abc123456

Please tell me what am I missing?

BO version: 4.1 SP2

Thanks in advance.