惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Securelist
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
V
V2EX
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
The Register - Security
The Register - Security
Recorded Future
Recorded Future
Y
Y Combinator Blog
小众软件
小众软件
Jina AI
Jina AI
V2EX - 技术
V2EX - 技术
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
宝玉的分享
宝玉的分享
The Hacker News
The Hacker News
C
Cybersecurity and Infrastructure Security Agency CISA
K
Kaspersky official blog
博客园 - 三生石上(FineUI控件)
T
Threatpost
博客园 - 聂微东
Scott Helme
Scott Helme
IT之家
IT之家
N
Netflix TechBlog - Medium
T
The Exploit Database - CXSecurity.com
S
Schneier on Security
MongoDB | Blog
MongoDB | Blog
T
Tor Project blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
A
About on SuperTechFans
酷 壳 – CoolShell
酷 壳 – CoolShell
C
CERT Recently Published Vulnerability Notes
P
Palo Alto Networks Blog
Spread Privacy
Spread Privacy
C
Check Point Blog
L
LINUX DO - 最新话题
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Last Week in AI
Last Week in AI
Attack and Defense Labs
Attack and Defense Labs
T
Tailwind CSS Blog
罗磊的独立博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Webroot Blog
Webroot Blog
Help Net Security
Help Net Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
PCI Perspectives
PCI Perspectives
Security Latest
Security Latest

博客园 - 南疯

C#中获得月份中的第一天和最后一天和判断闰年 VS2008的网页报表可以直接打印了 Impossible 与 I’m possible 别吵了,.NET和JAVA两大帮派合并了! 让"指定的 MSProjectServerRole 帐户不属于 MSProjectServerRole 角色"去死吧 我所理解的工作流工作模式 BusinessObjects系统用户信息同步的解决类 关于BusinessObjects系统单点登录(SSO)解决办法(二) 教您怎样在C#中锁定Word内容,还教您怎样把人家的锁定内容破解了 一个封装比较完整的FTP类——clsFTP How to share Session variables across Domains(在不同域之间共享Session) 还是VS2005全角问题 博客园(堂)内的互助有感 一个完整的接口技术解决方案 一个完整的接口技术解决方案(八) 一个完整的接口技术解决方案(七) 一个完整的接口技术解决方案(六) 一个完整的接口技术解决方案(五) 一个完整的接口技术解决方案(四)
关于BusinessObjects系统单点登录(SSO)解决办法(一)
南疯 · 2007-05-14 · via 博客园 - 南疯

         BusinessObjects支持单点登录(Single sign on 简称SSO)功能,但那是指的是使用Windows活动目录认证的一种方法。与目前我们常用的使用超链接进行的单点登录(登录在别系统中,使用别系统的当前用户来认证BusinessObjects进行登录)属于不同类型的单点登录类型。为此,我们只能另求他法。经过研究,下面两种方法满足我们目前的要求:

a)      方法一

      使用openDocument方法。BusinessObjects在其网页目录:   ..\BusinessObjects Enterprise 11.5\Web Content\Enterprise115\InfoView\scripts下面有一个网页openDocument.aspx,利用这个页面,我们可以从其他的网站链接到该页面打开一个报表,这种方法不仅可以直接打开一个报表,而且支持传递Token登录信息来进行单点登录。

Token的产生。利用下面的代码我们可以生成一个Token

using CrystalDecisions.Enterprise;

private string GetToken(string System, string UserName, string Password)
{
    CrystalDecisions.Enterprise.Identity identity 
= new CrystalDecisions.Enterprise.Identity();
    
bool Success = false;
    Success 
= identity.Logon(UserName, Password, System, "Enterprise");
    
//或者使用Windows NT 认证方式
    
//Success = identity.Logon(UserName, Password, System, "Windows NT");
    if (Success)
    
{
        
return identity.GetToken();
    }

    
else
    
{
        
return null;
    }

}

openDocumentUrl格式:

http://<hostname>:<port>/businessobjects/enterprise115/InfoView/scripts/opendocument.aspx

      在上面的Url后面,可以传递openDocument的各种参数。openDocument的参数列表(本列表忽略了一些不常用的参数,仅仅列出了常用的参数):

参数名称

 

是否强制

token

包含用户Session认证的token文本

Token文本

示例:

openDocument.aspx?iDocID=342&token=(在此使用GetToken得到的文本)

iDocID

文档的ID

是,但可以用sDocName来代替

文档ID

(InfoObjectID)

sIDType

CMS对象类型

是。如果是默认对象(InfoObjectID)可以不用

. CUID

. GUID

. RUID

. InfoObjectID

(默认)

示例:

openDocument.aspx?iDocID=342

openDocument.aspx?iDocID=AWimiw9StnhGm993evk.Amc&sIDType=CUID

sType

目标是文档还是报表文件类型

是。但对于未知的文件类型忽略(xls, doc, txt,)

.wid

.rpt

.car

.rep

示例:

openDocument.aspx?iDocID=342& sType=wid

openDocument.aspx?iDocID=343& sType=rpt

sPath

包含目标文档的目录和子目录

本参数是与sDocName一起使用的

目录和子目录

表示方法:

[folder],[subfolder]

sDocName

不带有扩展名的文档名称

这个参数与sPath一起使用

myDocument

示例:

openDocument.aspx?sPath=[reports]&sDocName=Charting&sType=rpt

openDocument.aspx?sPath=[reports],[finance]&sDocName=Summary&sType=rpt

sReportName

在一个文档中包含多个报表的时候决定那一个报表打开(默认的时候处于激活的报表优先打开)

文档中的子报表名字

示例:

openDocument.aspx?iDocID=342&sType=wid&sReportName=Report2

sReportPart

指定报表中的哪一块被打开

报表中经常包含饼图和表格数据两种部分,每一块都有自己的名字,用这个参数可以指定打开的是哪块的内容

被打开的报表块名称

sPartContext

水晶报表中,报表的某一部分重视关联着数据范围

是,如果使用了sReportPart指定报表的块

报表块的数据范围

sReportMode

仅用于水晶报表。指定链接打开的是全部的报表还是sReportPart部分块

否。默认是Full。仅仅在sReportPart指定为部分块的时候使用

. Full

. Part

示例:

在全球销售报表中,报表柱图块的名字叫做“Text2;Graph1” 并且默认的数据范围是 “/”(全部数据)

openDocument.aspx?sType=rpt&sDocName=World+Sales+Report&sReportPart=Text2;Graph1&sPartContext=/

如果仅仅显示英格兰这个国家的数据:

openDocument.aspx?sType=rpt&sDocName=World+Sales+Report&sReportPart=Text2;Graph1&sPartContext=/Country[England]&sReportMode=Part

注意,在上面的Url 中,用加号(+)来表示报表中一个空格占位符

sRefresh

指定在打开报表是时候是否强制刷新报表的数据

. Y(刷新报表数据)

. N(不刷新数据)

示例:

openDocument.aspx?iDocID=342&sType=wid&sRefresh=Y

lsS[NAME]

给报表的一个单值参数赋值

[NAME]指参数变量的名称

一个单值参数的值

示例:

openDocument.aspx?iDocID=342&sType=wid&sRefresh=Y&lsSProductName=Cycle

下列的示例给多个单值参数赋值并注意各种值的赋值形式:

openDocument.aspx?sType=rpt&iDocID=858&sRefresh=Y&

lsSparamString=h&lsSparamNumber=1&

lsSparamCurrency=121&lsSparamDate=Date(2003,6,11)&

lsSparamDateTime=DateTime(2003,6,11,14,38,37)&lsSparamBoolean=false&

lsSparamTime=Time(12,39,2)&lsSparamStringDR=a&lsSparamDateDR=Date(2003,6,1)

lsM[NAME]

给报表的一个多值参数赋值

[NAME]指参数变量的名称

l  多只参数的各个值用逗号“,”分开。

l  对于Webi报表来说,用分号“;”来分开各个值

l  如果是水晶报表,每个值必须用中括号“[”“]起来。

l  如果是一个分析报表,用MDX WITH起来

示例:

openDocument.aspx?iDocID=345& sType=wid&sRefresh=Y&lsMProductName=Cycle;Car

或者如下示例:

openDocument.aspx?sType=rpt&iDocID=859&sRefresh=Y& lsMparamStringDR=[c],[d]&lsMparamNumberDR=[3],[4]& lsMparamDateDR=[Date(2003,6,3)],[Date(2003,6,4)]& lsMparamDateTimeDR=[DateTime(2003,6,1,3,1,1)],[DateTime(2003,6,1,4,1,1)] lsR[NAME]

lsR[NAME]

给报表的一个值参数指定一个值范围

[NAME]指参数变量的名称

l  一个值范围,用两个点(..)分开

l  如果是一个水晶报表,值范围用一个中括号“[”或圆括号“(起来,而且后面要有对应的反括号

l  如果是一个OLAP报表,用MDX WITH起来

示例:

openDocument.aspx?sType=rpt&iDocID=860&lsRparamStringDR=[h..i]&

lsRparamNumberDR=[7..8]& lsRparamCurrencyDR=[3..4]&

lsRparamDateDR=[Date(2003,6,7)..Date(2003,6,8)]&

lsRparamDateTimeDR=[DateTime(2003,6,1,7,1,1)..DateTime(2003,6,1,8,1,1)]&

lsRparamTimeDR=[Time(1,1,7)..Time(1,1,8)]&lsRparamUnbound1=(..6)&

lsRparamUnbound2=[6..)&lsRparamStringR=[a..d]&lsRparamNumberR=[1..3]&

lsRparamCurrencyR=[1..3]&lsRparamDateR=[Date(2003,6,1)..Date(2003,6,3)]&

lsRparamDateTimeR=[DateTime(2003,6,1,1,1,1)..DateTime(2003,6,1,3,1,1)]&

lsRparamTimeR=[Time(1,1,1)..Time(3,1,1)]

sOutputFormat

指定目标文档是以怎么样的格式来显示

否,默认是HTML

. H (HTML)

. P (PDF)

. E (Excel)

. W (Word)

仅适用于水晶报表

示例:

openDocument.aspx?iDocID=347&sType=wid&sOutputFormat=P

openDocument.aspx?iDocID=861&sType=rpt&sOutputFormat=W

sWindow

指定文档是在当前的窗口打开还是在一个新的窗口打开

. Same

. New

 请稍候,办法二马上就写!