I did get SSO with AD to work on JAVA inforview without the token showing up in the address bar of the browser. I belive my approach was pretty much the same as what you outlined. I used an ASP page to create the token then I used an JSP page to capture the token and pass it along to the regular Java login process. The ASP script I used is as follows:
<%@LANGUAGE=VBScript%>
<%
Dim CMS, UserID, Password, Report, Authorization, Viewer, oInfoObjects
CMS = “CMSName”
UserID = “”
Password = “”
Authorization = “secWinAD”
Dim SessionManager
Set SessionManager = Server.CreateObject(“CrystalEnterprise.SessionMgr”)
Dim Sess
Set Sess = SessionManager.Logon(UserID, Password, CMS, Authorization)
Dim LogonTokenMgr
Set LogonTokenMgr = Sess.LogonTokenMgr
logonToken = LogonTokenMgr.CreateLogonTokenEx("", 120, 10)
%>
The JSP Script that uses the token created in the above script is:
<%@ page language=“java” contentType=“text/html;charset=utf-8” %>
<%@ page import=“com.crystaldecisions.sdk.framework.,
com.crystaldecisions.sdk.exception.” %>
<%
String token = request.getParameter(“token”);
%>
<jsp:forward page=“logon.object”>
<jsp:param name=“token” value="<%=token%>"/>
</jsp:forward>
<%
return;
%>
I totally agree that the ultimate solution is to get Business Objects to bring the same functionality to their ASP version as they have in the JSP version that way we would not have to jump through these hoops.
At the International users conference in San Francisco they had a question and answer period in which the customers could ask the BO executives questions. I asked them if they were planning on putting the same features into the ASP version of Business Objects as the JSP version and they did say that was a goal that they are working toward. Of course he did not provide any time table for that goal so I probably should not hold my breath.
Thanks again for your help.
bbenishe (BOB member since 2002-09-03)