FineReport和泛微OA(Ecology)的单点登录集成方案

最近出现了很多关于帆软报表和泛微OA的集成问题,均出现在“单点登录”上。直接也有相关的文章介绍一些FineReport和泛微集成的背景、价值等,以及FineReport和OA的深度集成的方案,但是并没有提到单点登录的集成方案,今天就简单介绍下FineReport和OA单点登录集成方式。

同步用户信息

单点登录的基础,就是用户信息的同步,FineReport的决策系统中有一个很强大的功能,可以自动帮助用户实现用户信息同步。具体菜单:决策系统-管理系统-用户管理。点击用户管理菜单后,右侧页面右上角有一个“设置”按钮,如下图:

 

点击“设置”,则会出现如下图的界面。按照下图中的配置进行对应的配置。

 

认证方式:选择平台内置认证。单点登录的集成是通过平台内置认证进行集成的。

用户同步数据集:选择“已开启”

服务器数据集:服务器数据集是需要去帆软报表的开发工具上进行配置。如下图:

 

 

进入设计器,点击菜单服务器-服务器数据集,新增一个数据集,选择OA的数据源,写入SQL“select * from hrmresource”,保存即可。

保存后,需要去本地的开发环境上找到对应的xml,复制到决策系统服务器端,才可使用。本地开发环境的xml路径见上图“保存路径”后面的对应文件路径。

通过EditPlus编辑器打开datasource.xml文件后,找到“OA用户”这块xml代码。将这块代码复制到服务器上的datasource.xml上,路径和/WebReport/WEB-INF/resourcr/datasource.xml,粘贴格式参见本地的开发环境。如下图:

 

注:不要用记事本打开xml,保存可能会损坏xml。更新服务器文件时,做好备份。

继续配置用户同步

用户名:XXX

姓名:XXX

密码:XXX,注意,OA的密码已经进行了32位大写的MD5加密。

加密方式:不设置密码加密

其他选填。

点击保存,OK,决策系统已经开始在后台执行了用户同步了。只需要在决策系统中的用户管理上查看同步的用户信息结果即可。

泛微OA的登录方式和如何编写单点登录

了解单点登录之前,先了解下OA的登录方式。泛微OA的登录方式有2种。第一种,是通过页面登录进OA;第二种是,是通过E-Message上的快捷方式进入到OA。

这样的话,如果实现FineReport和泛微OA集成的单点登录,以上的两种登录方式均瑶实现这个效果。很多用户和泛微的实施团队会在OA的login.jsp上编写单点登录代码。在login.jsp上编写单点登录代码智能解决第一种登录方式“通过页面登录进OA”。而通过E-Message上的快捷方式进入到OA是不能实现帆软决策系统的单点登录的。如果要实现两种登录方式的单点登录,可以在泛微OA登录后页面上编写单点登录代码。泛微OA登录后页面的jsp为“/ecology/wui/theme/ecology7/page/main.jsp”。

第一步,引入js代码:

<script type="text/javascript" src="http://***.***.***.***:**/WebReport/ReportServer?op=emb&resource=finereport.js"></script>  

 

第二步,获取当前用户的登录名和密码的java代码:

String nodeSql ="select loginid,password from HrmResource where id =  " + user.getUID();
        RecordSet.executeSql(nodeSql);
        if (RecordSet.next()){
                userpasswordstr = RecordSet.getString("password");     
                loginidstr = RecordSet.getString("loginid");
        }

从上面的代码可以很明显的看到,这个和sql和rs的取值字段跟之前配置用户同步信息对应的表和字段是一样的。

第三步,编写js代码:

var username =FR.cjkEncode("<%=loginidstr%>");  
var password ="<%=userpasswordstr%>";
password = password.toUpperCase();//把密码小写字母转换成大写字母
var scr = document.createElement("iframe");                
scr.src = "http://***.***.***.***:**/WebReport/ReportServer?op=touchfs&username="+username+"&__redirect__=false&password="+password;

这里是采用iframe的跨域单点登录方式,所以在JS中需要创建一个iframe,然后在iframe上设置SRC。

第四步,保存main.jsp,备份服务器的main.jsp,更新main.jsp。

第五步,重新登录OA,单点登录成功。校验方式,在OA的浏览器上,新建一个页签,输入“http://***.***.***.***:**/WebReport/ReportServer?op=fs”,如果出现如下图,且登录名为自己的用户,则表示单点登录成功。但是。。。还没完。

 

在泛微OA上配置决策系统入口

完成了上述的配置,但是OA用户通过什么方式进入决策平台呢?提供2个方式供参考。

第一,用系统管理员配置自定义左侧菜单。

第二,设置用户元素。

以上3点完成后,FineReport和OA的集成工作就大功告成了。

  • 15
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Finereport 11与OA集成是指将Finereport 11报表工具与企业的OA系统进行连接和融合,实现数据的交互和共享。通过这种集成,用户可以在OA系统中直接使用Finereport 11创建、查看并分析报表数据,提高工作效率和决策能力。 Finereport 11作为一款强大的报表工具,可以通过与OA集成,将OA系统内的数据通过API或其他方式导入到Finereport 11中,进行数据预处理、数据分析和报表生成。同时,Finereport 11还支持在报表中嵌入OA系统的各种业务流程和功能,实现数据的双向交流。 通过Finereport 11与OA集成,可以实现以下优势: 1. 数据共享和一体化管理:Finereport 11可以直接与OA系统的数据库进行连接,并实时获取数据,避免了重复输入和数据的不一致性。 2. 报表的即时生成和分析:通过Finereport 11与OA集成,可以根据OA系统中的数据实时生成各种统计分析和报表,为企业决策提供有力支持。 3. 个性化设置和权限控制:Finereport 11提供了丰富的报表设计和展示功能,可以根据用户的需求对报表进行个性化设置,并通过集成OA系统的权限管理功能,实现对不同用户的报表访问权限的控制。 4. 工作流程的优化和自动化:通过Finereport 11与OA集成,可以将报表的生成和分发与OA系统的工作流程相结合,实现报表的自动化生成和分发,提高工作效率和减少人工操作。 总之,Finereport 11与OA集成能够提供更加便捷和高效的报表生成与管理方式,为企业提供了全面的数据分析和决策支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值