如何绕过BO 4.2中的BI启动板登录页面

2020-08-24 19:05发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我需要绕过BI启动板登录页面以实施SSO。 我通过使用和适应custom.jsp页面在BO 4.1版本中实现了该功能,但是对于BO4.2而言,相同的代码不起作用(它打开了白页,除此之外没有其他功能)。 您能否告诉我BO4.2中是否有其他功能(也许是使用登录令牌库的方式)使其无法正常工作?

非常感谢。 我了解了custom.jsp的代码:

<%@页面import =" com.crystaldecisions.sdk.exception.SDKException"%>
<%@页面import =" com.crystaldecisions.sdk.framework。*"%>
<%@ 页面import =" com.crystaldecisions.sdk.occa.infostore。*"%>
<%@页面import =" com.crystaldecisions.sdk.occa.security。*"%>
<%@页面导入 =" java.net 。*"%>
<%@页面import =" com。 crystaldecisions.enterprise。*"%>
<%@页面import =" com.crystaldecisions.sdk.plugin.admin。*"%>
<%@页面import =" java.sql。*"%>
<%@页面import =" com.businessobjects.webutil.Encoder"%>


<%@页面language =" java" contentType =" text/html; charset = ISO-8859-1"
pageEncoding =" ISO-8859-1"%>


<%
//BO会话并重定向到Infoview
IEnterpriseSession enterpriseSession;

/* *设置企业登录凭据。 */
最终字符串BO_CMS_NAME =" cdt-bo:6400";
最终字符串BO_AUTH_TYPE =" secEnterprise";
最终字符串BO_USERNAME ="用户";
最终字符串BO_PASSWORD ="通过";
ILogonTokenMgr logonTokenMgr;
字符串defaultToken ="";

/*
*登录到企业
*/
boolean loggingIn = true;
尝试{
///创建会话令牌
enterpriseSession = CrystalEnterprise.getSessionMgr()。logon (BO_USERNAME,BO_PASSWORD,BO_CMS_NAME,BO_AUTH_TYPE);
logonTokenMgr = enterpriseSession.getLogonTokenMgr();
defaultToken = logonTokenMgr.createWCAToken("",20、1);

//重定向,令牌附加到ivsLogonToken参数
response.sendRedirect("

" http://172.24.56.210:8080/BOE/ BI/logon/start.do?ivsLogonToken =" + Encoder.encodeURL(defaultToken ));



在此处插入标题

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我需要绕过BI启动板登录页面以实施SSO。 我通过使用和适应custom.jsp页面在BO 4.1版本中实现了该功能,但是对于BO4.2而言,相同的代码不起作用(它打开了白页,除此之外没有其他功能)。 您能否告诉我BO4.2中是否有其他功能(也许是使用登录令牌库的方式)使其无法正常工作?

非常感谢。 我了解了custom.jsp的代码:

<%@页面import =" com.crystaldecisions.sdk.exception.SDKException"%>
<%@页面import =" com.crystaldecisions.sdk.framework。*"%>
<%@ 页面import =" com.crystaldecisions.sdk.occa.infostore。*"%>
<%@页面import =" com.crystaldecisions.sdk.occa.security。*"%>
<%@页面导入 =" java.net 。*"%>
<%@页面import =" com。 crystaldecisions.enterprise。*"%>
<%@页面import =" com.crystaldecisions.sdk.plugin.admin。*"%>
<%@页面import =" java.sql。*"%>
<%@页面import =" com.businessobjects.webutil.Encoder"%>


<%@页面language =" java" contentType =" text/html; charset = ISO-8859-1"
pageEncoding =" ISO-8859-1"%>


<%
//BO会话并重定向到Infoview
IEnterpriseSession enterpriseSession;

/* *设置企业登录凭据。 */
最终字符串BO_CMS_NAME =" cdt-bo:6400";
最终字符串BO_AUTH_TYPE =" secEnterprise";
最终字符串BO_USERNAME ="用户";
最终字符串BO_PASSWORD ="通过";
ILogonTokenMgr logonTokenMgr;
字符串defaultToken ="";

/*
*登录到企业
*/
boolean loggingIn = true;
尝试{
///创建会话令牌
enterpriseSession = CrystalEnterprise.getSessionMgr()。logon (BO_USERNAME,BO_PASSWORD,BO_CMS_NAME,BO_AUTH_TYPE);
logonTokenMgr = enterpriseSession.getLogonTokenMgr();
defaultToken = logonTokenMgr.createWCAToken("",20、1);

//重定向,令牌附加到ivsLogonToken参数
response.sendRedirect("

" http://172.24.56.210:8080/BOE/ BI/logon/start.do?ivsLogonToken =" + Encoder.encodeURL(defaultToken ));



在此处插入标题

付费偷看设置
发送
6条回答
奄奄一息的小鱼
1楼 · 2020-08-24 19:27.采纳回答

何塞,

我更正了您的代码,

尝试以下代码(末尾说明):

 <%@页面import =" com.crystaldecisions.sdk.exception.SDKException"%>
 <%@页面import =" com.crystaldecisions.sdk.framework。*"%>
 <%@页面import =" com.crystaldecisions.sdk.occa.infostore。*"%>
 <%@页面import =" com.crystaldecisions.sdk.occa.security。*"%>
 <%@页面import =" java.net。*"%>
 <%@页面import =" com.crystaldecisions.enterprise。*"%>
 <%@页面import =" com.crystaldecisions.sdk.plugin.admin。*"%>
 <%@页面import =" java.sql。*"%>

 <%@页面语言=" java" contentType =" text/html; charset = ISO-8859-1"
 pageEncoding =" ISO-8859-1"%>

 <%
//BO会话并重定向到Infoview
 IEnterpriseSession enterpriseSession;
/* *设置企业登录凭据。  */
 最后的字符串BO_CMS_NAME =" localhost:6400";
 final String BO_AUTH_TYPE =" secEnterprise";
 最后的字符串BO_USERNAME =" User";
 final String BO_PASSWORD ="通过";
 ILogonTokenMgr logonTokenMgr;
 字符串defaultToken ="";
/*
 *登录企业
 */
 boolean loggingIn = true;
 尝试{
//创建会话令牌
 enterpriseSession = CrystalEnterprise.getSessionMgr()。logon(BO_USERNAME,BO_PASSWORD,BO_CMS_NAME,BO_AUTH_TYPE);
 logonTokenMgr = enterpriseSession.getLogonTokenMgr();
 defaultToken = logonTokenMgr.createWCAToken("",20,1);
//使用附加到ivsLogonToken参数的令牌进行重定向
 response.sendRedirect(" http://172.24.56.210:8080/BOE/BI/logon/start.do?ivsLogonToken=" + java.net.URLEncoder.encode(defaultToken)));
 } catch(Exception e){

 }
 %>
 
 <头>
 
 在此处插入标题
 
 <身体>
 
  

已更正

1。 " <%@ page import =" com.businessobjects.webutil.Encoder"%>"引起了一些问题,所以我将其删除。

2。 从" Encoder.encodeURL()"到" java.net.URLEncoder.encode()",则可以使用任何编码器,这就是我经常使用的编码器。

3。 您已经打开了尝试块,但没有关闭它。

此致

Rajesh

代楠1984
2楼-- · 2020-08-24 19:37

以上代码已在4.2 SP2中进行了测试

Nan4612
3楼-- · 2020-08-24 19:22

嗨,Rajesh,

非常感谢您的回答。 我在这里复制时,try catch的问题只是复制/粘贴错误。 我将测试您指出的其余更改。

一个问题:您是在BO4.2还是BO4.1中运行它?

致谢

Jose。

打个大熊猫
4楼-- · 2020-08-24 19:38

非常感谢。 我将在我们的平台BO 4.2 SP3中进行测试。

SKY徐
5楼-- · 2020-08-24 19:26

嗨Rajesh,

该代码终于可以正常工作了。

非常感谢您。

Jose Manuel。

葫芦娃快救爷爷
6楼-- · 2020-08-24 19:24

我们是否也可以使用登录令牌登录CMC?

一周热门 更多>