cognos10 与系统实现sso的一些问题

方法一:设置iframe src为报表url,并在url拼接&CAMUsername=admin&CAMPassword=1&CAMNamespace=ora实现sso结果:失败现象:页面会瞬间显示下报表正在生成,但马上 iframe显示c10登陆页面,且输入正确用户名、密码,点击确定后仍停留在登陆页面报表url: http://192.168.99.146:9300/p2pd...显示全部
方法一:设置iframe src为报表url,并在url拼接&CAMUsername=admin&CAMPassword=1&CAMNamespace=ora实现sso结果:失败
现象:页面会瞬间显示下报表正在生成,但马上 iframe显示c10登陆页面,且输入正确用户名、密码,点击确定后仍停留在登陆页面
报表url:
http://192.168.99.146:9300/p2pd/servlet/dispatch?b_action=cognosViewer
&ui.action=run
&CAMUsername=admin
&CAMPassword=1
&CAMNamespace=ora
&ui.object=%2fcontent%2ffolder%5b%40name%3d%27czsz%27%5d%2fpackage%5b%40name%3d%27%e5%85%a8%e5%9b%bd%e8%b4%a2%e6%94%bf%e4%b8%89%e5%86%9c%e6%94%af%e5%87%ba%e5%88%86%e6%9e%90%27%5d%2freport%5b%40name%3d%27%e2%80%9c%e4%b8%89%e5%86%9c%e2%80%9d%e6%94%af%e5%87%ba%e4%b8%93%e9%a2%98%e5%88%86%e6%9e%90%27%5d
&ui.name=%e2%80%9c%e4%b8%89%e5%86%9c%e2%80%9d%e6%94%af%e5%87%ba%e4%b8%93%e9%a2%98%e5%88%86%e6%9e%90
&run.outputFormat=
&run.prompt=true
-----------------------------方法二:尝试调用sdk获得passportid,在url拼接&m_passportID=xxx&CAMNamespace=ora
结果:失败
现象:passport取得null
(代码片段请参见附件)
-----------------------------
方法三:和方法一思路差不多,整个页面应该也是被iframe引用的
结果:失败
现象:和方法一现象一样
(代码片段请参见附件)
------------------------------
方法四:偶然发现如果登录过c10,自己系统中的报表不带登录参数也可以显示报表,于是我window.open()方法三中的report.jsp,
打开一个空的报表,然后报表通过js自动关闭,之后系统中其他报表都可以正常显示。
结果:不尽如人意

方法四肯定不是正路子,我用火狐看过Cognos Connection登录成功后写了cookie cam_passport,所以感觉passport 是正路子,看论坛里各大神也都提到过url 拼接passport ,但自己都没试出来。
发个求助帖,大家帮看下,给点思路。

之前的悬赏贴http://www.cognoschina.net/club/viewthread.php?tid=18681&highlight=收起
参与17

查看其它 15 个回答interboy的回答

interboyinterboy软件开发工程师北京中电普华信息技术有限公司
是不是你的cognos server和你的webserver不在一台服务器上?
如果真的不在一起,那不是Iframe的问题,而是浏览器不允许这样做,相当于跨域访问,存在安全隐患,你可以把cognos服务器和webserver都加入到受信任站点。应该是可以登录成功的
互联网服务 · 2012-02-01
浏览1204

回答者

interboy
软件开发工程师北京中电普华信息技术有限公司
擅长领域: 商业智能大数据cognos

interboy 最近回答过的问题

回答状态

  • 发布时间:2012-02-01
  • 关注会员:1 人
  • 回答浏览:1204
  • X社区推广