【BO-SDK】 BO InfoView embed apps (内嵌应用界面) 从InfoView登陆界面获取logonToken获得连接session: [EnterpriseSession][I...

request ——> InfoViewConstants.INFOVIEW_SESSION——>CrystalIdentity——>LogonTokenMgr

[@more@]

具体代码:











关键语句:

String token = ((CrystalIdentity)request.getSession().getAttribute(InfoViewConstants.INFOVIEW_SESSION)).getSession().getLogonTokenMgr().getDefaultToken();
//SessionMgr sessionMgr = new SessionMgr();
ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
IEnterpriseSession enterpriseSession = sessionMgr.logonWithToken(token);

IInfoStore iStore=(IInfoStore)enterpriseSession.getService("InfoStore");

其他处理:

String name=((CrystalIdentity)request.getSession().getAttribute(InfoViewConstants.INFOVIEW_SESSION)).getSession().getUserInfo().getUserName();
String auth=((CrystalIdentity)request.getSession().getAttribute(InfoViewConstants.INFOVIEW_SESSION)).getSession().getUserInfo().getAuthenMethod();
long pass=((CrystalIdentity)request.getSession().getAttribute(InfoViewConstants.INFOVIEW_SESSION)).getSession().getUserInfo().getPasswordExpiry();
out.println("UserName:"+name);
out.println("auth:"+auth);
out.println("pass:"+pass);

后续处理:

IInfoObjects result;
try {
result = iStore.query( "Select * From "

+ "CI_INFOOBJECTS Where SI_ID='37048'" );//26710

IInfoObject report = (IInfoObject) result.get(0);
IReport reporto=(IReport)report;
out.println("
");
out.println("


");
out.println("Report Name is:"+reporto.getTitle());

}
catch (SDKException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24167472/viewspace-1037255/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24167472/viewspace-1037255/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值