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代码:
第二步,获取当前用户的登录名和密码的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代码:
这里是采用iframe的跨域单点登录方式,所以在JS中需要创建一个iframe,然后在iframe上设置SRC。
第四步,保存main.jsp,备份服务器的main.jsp,更新main.jsp。
第五步,重新登录OA,单点登录成功。校验方式,在OA的浏览器上,新建一个页签,输入“http://***.***.***.***:**/WebReport/ReportServer?op=fs”,如果出现如下图,且登录名为自己的用户,则表示单点登录成功。但是。。。还没完。

在泛微OA上配置决策系统入口
完成了上述的配置,但是OA用户通过什么方式进入决策平台呢?提供2个方式供参考。
第一,用系统管理员配置自定义左侧菜单。
第二,设置用户元素。
以上3点完成后,FineReport和OA的集成工作就大功告成了。
FineReport和泛微OA(Ecology)的单点登录集成方案的更多相关文章
- 泛微OA e-cology 数据库接口信息泄露学习
泛微OA e-cology 数据库接口信息泄露 漏洞信息 攻击者可通过存在漏洞的页面直接获取到数据库配置信息.如果攻击者可直接访问数据库,则可直接获取用户数据,甚至可以直接控制数据库服务器:会将当前连 ...
- 泛微OA E-cology(CNVD-2019-32204)远程命令执行漏洞复现分析
漏洞复现 影响版本: E-cology 7.0 E-cology 8.0 E-cology 8.1 E-cology 9.0 直接在网站根目录后加入组件访问路径 /weaver/bsh.servl ...
- 帆软的报表系统与泛微OA结合起来,这两个软件麦枫提供了经典的服务。
一.集成配景泛微OA对企业的代价 泛微协同办公计划能向你供给一个协同的.集成的办公情况,使所有的办公职员都在统一且个性化的信息流派中一路事情, 解脱光阴和地区的限定,实现协同事情与知识治理. Eoco ...
- 泛微OA系统多版本存在命令执行漏洞
0x01漏洞描述 泛微OA办公系统是一款协调办公软件. 泛微协同商务软件系统存在命令执行漏洞,攻击者可利用该漏洞获取服务器权限. 0x02漏洞危害 攻击者可以通过精心构造的请求包在受影响版本的泛微OA ...
- 应用安全 - 软件漏洞 - 泛微OA漏洞汇总
SQL注入 前台SQL注入 用户名:admin' or password like 'c4ca4238a0b923820dcc509a6f75849b' and 'a'='a 密码: 1 验证页面参数 ...
- 基于Python的Webservice开发(四)-泛微OA的SOAP接口
一.功能需求 泛微e-cology可以在流程中调用Webservice接口实现与其他系统的联动等复杂功能.但是目前泛微文档中仅提供了调用的方法,但是没有关于接口的相关开发信息. 本次案例是用Pytho ...
- 泛微oa几个常用的js
泛微OA,常用JS 为满足一些简单需求,我从网上借鉴了大量的代码,其中几个是非常好用的. (1).取值判断 通过jQuery('#field1234').val()取字段的值,field1234对应字 ...
- 泛微OA 多版本存在命令执行
参考 https://blog.csdn.net/qq_41770175/article/details/102821349 https://www.linktrust.net/oday/471.ht ...
- PHP 单点登录实现方案
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任.单点登录在大型网站里使用得 ...
随机推荐
- Android Fragment向另一个Activity传值
1.Fragment内: Intent intent=new Intent(getActivity(),ShowDataActivity.class); //参数1:Fragment所依存的Activ ...
- 【App性能分析】:tracelog分析法
tracelog可以记录每个OpenGL函数调用的消耗时间,所以很多时候用来作performance分析.目前只支持安卓4.1以上的版本设备 1,目前Android Device Monitor最新的 ...
- Cinderella
Chapter 1 Ella, Ella, CinderellaThere is a beauiful girl. Her name is Ella.She lives with a wicked s ...
- Mac系统升级至OS X Mavericks后Genymotion出现的问题及解决方法
Apple的系统升级终于免费了,可开心满满地升级到OS X Mavericks后,Android模拟器之王Genymotion罢工了.遇到两个问题:1. Unable to load VirtualB ...
- python描述符学习
目录 一.对象属性的访问控制 二.描述符基本理解 三.基本使用 四.使用描述符完成property.classmethod.staticmethod自定义实现 1.property的自定义实现 2.c ...
- (转)Python 字符串格式化 str.format 简介
原文:https://www.cnblogs.com/wilber2013/p/4641616.html http://blog.konghy.cn/2016/11/25/python-str-for ...
- disable Nouveau kernel driver
nano /etc/modprobe.d/blacklist-nouveau.conf with the following contents: blacklist nouveau options n ...
- Struts html(标签)
一 <html:form> <html:form>用来创建表单,<html:form>必须包含一个action属性,否则JSP会抛出一个异常. 1.常用属性: Ac ...
- WPF设置动画在控件载入时就立刻执行
<YourControl.Triggers> <EventTrigger RoutedEvent="YourControl.Loaded"><!--这 ...
- JAVA泛型——协变
在上篇<JAVA泛型——基本使用>这篇文章中遗留以下问题,即将子类型Table或者也能添加到父类型Auction的泛型中,要实现这种功能必须借助于协变. 实验准备 现在在<JAVA泛 ...