风雨十年,感恩同行
查看: 545|回复: 0

帆软FineReport与致远OA单点集成方案

[复制链接]

该用户从未签到

发表于 2019-4-12 14:51:53 | 显示全部楼层 |阅读模式
今天为大家分享一下FineReport与致远OA单点集成方案,以下是大致相关,文末会有详细介绍(含FineReport与致远OA详细集成方案、五份文件以及两份说明),有需要可自行下载
# K$ ~; p4 y5 P
   在SeeyonReport的同目录下,放一个报表工程WebReport,如下图1所示:
# O& r7 y! \9 Y$ P
1.png
  图1

. }) I+ @" g! y$ P" E# ^9 d

9 K7 h1 b+ C2 {3 A
   然后之后访问的报表url,都是访问这个WebReport,譬如访问fs的具体URL是http://localhost/WebReport/ReportServer?op=fs,(ip根据致远实际情况修改),然后将该url挂在致远OA的某个链接上。譬如将其挂在致远OA的关联系统里面,系统管理员给test用户的关联系统挂了一个fs的链接,如图2所示:

' w1 I4 L5 L: ^0 Q+ O3 h. `! ?% P
2.png
   图2
* |5 [' }0 I. c
) \$ s9 k, C7 t# h# ]3 Y
    然后test用户登录OA后,可以看到关联系统里面有一个帆软报表的链接,如下图3所示:
3.png
   图3
  
  与刚部署的WebReport的fs做单点登录
  由于致远的限制,在WebReport里面不能获取到当前登录OA的用户名密码,而又想要单点登录fs,这时候可以修改致远OA的登录页面,获取到登录OA的用户名和密码,然后加上我们的Ajax单点登录。注意,由于涉及到中文用户名,需要用到cjkEncode方法,而如果直接引用finereport.js,会和致远的js冲突,因此需要重写cjkEncode方法。其OA登录页面为Seeyon\A8\ApacheJetspeed\webapps\seeyon\main\login\default\login.jsp,
在它的loginButtonOnClickHandler方法内,加上我们的Ajax单点登录,同时,新增一个cjkEncodefunction。具体代码见改文件目录的login.jsp。
然后,将OA里的用户同步到WebReport里。首先,连上OA的数据库(以MySQL为例),然后建立一个服务器数据集,通过
SELECT org.name as department,p.name as role,4 D5 d$ x) F% {) ]  [3 W- ?- X
m.name as username,a.login_name,a.credential_value( B. ^% V% a3 c
FROM dbo.[ORG_PRINCIPAL] a left join dbo.ORG_MEMBER m on a.member_id=m.id 7 U6 B+ z6 M# G2 x0 v' n
left join dbo.[ORG_POST] p on p.id=m.org_post_id
0 l1 H4 F4 O3 c" b) aleft join dbo.[ORG_UNIT] org on org.id=m.org_department_id
1 e" k5 @# V, _  f7 e( F; P! v
如下图4,图5所示:

& r: v# t; G' ^; \+ @; Q# @4 F* ^
4.png
  图4
3 X# e: O% a* B# g* F# T
5.png
图5
& s* |. Y$ [/ v4 ^% h% H
可以看到,其密码都是加密过的,因此需要我们fs配置自定义加密类。将改目录下的TestPasswordValidator.class放到
WebReport\WEB-INF\classes\com\fr\privilege\providers\dao目录下,没有则新建

" K. S8 I. a( \& x# @$ S: x
另外还需要将seeyon_ctp_core.jar放到WebReport\WEB-INF\lib目录下;
这两个方法好,重启报表工程。
然后登陆fs配置,如图6所示:(自定义加密那里的路径填写成com.fr.privilege.providers.dao.TestPasswordValidator)
4 ^( A8 V. y3 X# L# h. Y
; B9 `1 v2 O+ Z( C
6.png
图6

1 u6 g! P6 a& ^  ~3 M0 g/ n
  [) {1 Z/ {3 d6 C7 p$ n
    配置好后,再登录OA来验证单点登录是否成功,如下图7,图8,图9所示
9 j/ {/ }) b+ y% N9 e9 r9 y
7.png
图7
: @( n: w( z: E. G# s7 y  z) N

4 z1 z6 {- K  |* N* R
8.png
   图8

7 l# l. i8 ?; o! n" `

' Q$ @% l8 K7 ]" v5 X- C/ w
9.png
          图9(“测试”即为OA登录的test用户)
9 N0 f0 e% B+ M

% r% Z% x; S2 z' F  o# J' f
10.png

# }- i1 d/ z0 v4 V/ X& x/ h# D  ^8 E! d# c& ]; _* c8 @
帆软FineReport与致远OA单点集成方案.rar (134.51 KB, 下载次数: 45)

相关技术服务需求,请联系管理员和客服QQ:2753533861或QQ:619920289
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

帖子推荐:
客服咨询

QQ:2753533861

服务时间 9:00-22:00

金蝶用友易助管家婆深度服务
快速回复 返回顶部 返回列表