已经投票
报表集成 >> 管理报表应用 >> 数据决策系统(op=fs) >> 用户 >> 数据决策系统单点登录

数据决策系统单点登录

顶( )
最后更新日期: 人发表评论 (点击查看)
数据决策系统单点登录,op=fs,
1. 问题描述
自己项中想实现对FineReport的单点登录,由于报表平台是独立设计的,跟触发单个模板不同,所以验证触发的方法也不同。
2. 实现思路
在自己系统的登录界面js中将报表的权限验证地址以iframe的方式嵌入,触发报表平台的验证方法即可。
3. 示例
我们以简化了项目登录页面说明实现步骤:
3.1 登录按钮事件设置
用户输入用户名密码后点击提交或登录按钮时,触发doSubmit()方法,该方法中先创建一个iframe,然后将报表验证用户名密码的认证地址指向此iframe的src,并对使用的浏览器进行判断因为每个浏览器注册写法不太一样,然后将此iframe标签加入到head标签中,实现报表认证代码如下:
注:由于编码的问题,要对输入的用户名和密码进行cjkEncode编码,需要引入finereport.js,在head标签中引入finereport.js,如下:
也可以自己写cjkEncode函数,实现方法见编码处理文档。
3.2 完整代码
如您原来的登录界面的代码如下:
修改后即可以实现跨域单点登录的代码如下:
说明:用户名密码表单中使用button来触发doSubmit(),您只要将doSubmit()方法加入到您的项目的登录页面中即可。
报表通过url传用户名和密码进行验证,传到报表服务器是以session的方式保存,防止被人中途拦截会导致系统泄密,可以对登录进来的密码进行加密,可参考文档权限之密码加密;或者使用https证书,让请求在传输过程中加密,配置方法也很简单,修改下服务器的配置文件就行了。这种方式还存在一个证书合法性问题,用自己生成的证书,客户端在访问报表中浏览器会显示证书非法警告,所以需要去购买合法证书。目前国内最便宜的证书一年是一千多元。
 
 
 
 
   
文明发言,用心评论
 
应用此篇文章,您:
不费力
研究了一会
琢磨了好久
 
查看全部条>>
返回顶部
Copyright©2019 帆软软件有限公司
苏ICP备18065767号-3