on 02-09-2013 7:51 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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.
Hi Maya,
Please refer the below link and SCN Thread for more details
Thanks,
Daya
Create a new user id in Central Management Console, and update the details in above mentioned steps.
Steps for Creation of New User ID:
Hope this will help!!!!
Thanks,
Daya
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
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
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
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
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
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.
| User | Count |
|---|---|
| 3 | |
| 3 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.