方法一:设置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=收起