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

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

[复制链接]

该用户从未签到

发表于 2019-11-4 11:31:17 | 显示全部楼层 |阅读模式
今天为大家分享一下FineReport与致远OA单点集成方案,以下是大致相关,文末会有详细介绍(含FineReport与致远OA详细集成方案、五份文件以及两份说明),有需要可自行下载。
( D* P0 T! j2 d% ?4 y; f" Y: e% P" t% z2 ~. g8 y
   在SeeyonReport的同目录下,放一个报表工程WebReport,如下图1所示:
3 i) A! ~1 q" O/ B0 v5 e. l9 c7 ^( q* i& d

0 V8 p6 k8 M" y7 i' k0 w   然后之后访问的报表url,都是访问这个WebReport,譬如访问fs的具体URL是http://localhost/WebReport/ReportServer?op=fs,(ip根据致远实际情况修改),然后将该url挂在致远OA的某个链接上。譬如将其挂在致远OA的关联系统里面,系统管理员给test用户的关联系统挂了一个fs的链接,如图2所示:0 F& k! X6 w* }& ~

! H3 K4 C0 N3 {6 c' k7 Q3 C+ M, h6 r% y, @. g; m  e
    然后test用户登录OA后,可以看到关联系统里面有一个帆软报表的链接,如下图3所示:
" c" y/ j) ~" R/ Y1 r! S' z9 Z: P4 ?' b

2 Z. Z* z) S5 F# N0 f+ z  与刚部署的WebReport的fs做单点登录& z: A& t% K3 P- b) m: }3 v
  由于致远的限制,在WebReport里面不能获取到当前登录OA的用户名密码,而又想要单点登录fs,这时候可以修改致远OA的登录页面,获取到登录OA的用户名和密码,然后加上我们的Ajax单点登录。注意,由于涉及到中文用户名,需要用到cjkEncode方法,而如果直接引用finereport.js,会和致远的js冲突,因此需要重写cjkEncode方法。其OA登录页面为Seeyon\A8\ApacheJetspeed\webapps\seeyon\main\login\default\login.jsp,8 D* Y2 r: Z" ?* o" X0 B" Q
在它的loginButtonOnClickHandler方法内,加上我们的Ajax单点登录,同时,新增一个cjkEncode的function。具体代码见改文件目录的login.jsp。
6 u, P, ^+ v$ ?. `' p7 O然后,将OA里的用户同步到WebReport里。首先,连上OA的数据库(以MySQL为例),然后建立一个服务器数据集,通过3 _$ I3 R& ?( v4 o; ?, c
SELECT org.name as department,p.name as role,
3 T; n" l3 M$ b. w# j& Tm.name as username,a.login_name,a.credential_value3 ^! w4 A5 a6 e& G4 A7 @5 `/ Y
FROM dbo.[ORG_PRINCIPAL] a left join dbo.ORG_MEMBER m on a.member_id=m.id , t' L) t9 N5 T. M* Q9 ~
left join dbo.[ORG_POST] p on p.id=m.org_post_id, K0 r$ j9 t1 C! X8 N
left join dbo.[ORG_UNIT] org on org.id=m.org_department_id
/ k; r4 i+ B/ P3 Z  I1 T- j: |2 A* q! p

1 `) P6 O5 I- b/ E4 c, ]% n9 `+ {可以看到,其密码都是加密过的,因此需要我们fs配置自定义加密类。将改目录下的TestPasswordValidator.class放到5 Q8 r0 a# N. u- _4 J2 G1 O. b! ~  }
WebReport\WEB-INF\classes\com\fr\privilege\providers\dao目录下,没有则新建
2 c/ B% S3 n: g6 i3 _  K& R9 d6 V; L2 b, U1 X2 T3 F
另外还需要将seeyon_ctp_core.jar放到WebReport\WEB-INF\lib目录下;  M( P' V7 f: V, T& J: B
这两个方法好,重启报表工程。
! t; M5 H6 W0 z1 N! \然后登陆fs配置,如图6所示:(自定义加密那里的路径填写成com.fr.privilege.providers.dao.TestPasswordValidator)
) ~$ S) h4 ~9 [4 ]: _# W0 J* l5 l
1 m) Z$ f9 I/ F- J+ U% ~& r  Q0 V" B

4 K5 ]/ \$ Q& ^% ]  c    配置好后,再登录OA来验证单点登录是否成功,如下图7,图8,图9所示
# f( @- R: f, Y  Y; v; S7 n7 `" T/ O1 C) D( L) g9 d
  I7 v7 c3 c, D7 o- Y
(附件含FineReport与致远OA详细集成方案、五份文件以及两份说明)
  m, I( B* L& J
: g& e) {4 Z$ |  s& o 1.png
0 m; s5 X# a' {' |* m; u( P. n+ W; P/ q/ C' M( f
2.png
# B7 y7 P4 F- n% ]: G/ t
$ Q9 v# J. u& K/ \7 R 3.png " r0 ]8 T' m- a% @

; v, G2 [9 @% Y 4.png
' X, {- `5 S. B8 f. u( p- p: z( |4 ?3 ~( r' k. }9 T8 f
5.png
2 U" g& e, E$ \: p. d4 F' g3 C
3 n) [, D+ G. y, u& I- i/ f 6.png
, w7 ~( o: g$ S; |% L$ s" Q, `' b9 ~2 h" G% f+ z* n; W3 O) z
7.png 9 k* s  C2 S; w8 {# X. o5 Z" I
" t) I; Q" B8 @, q% f1 P
8.png
% P* U- U7 {+ p* X. @# {& k- {! s) c. w0 A3 r" t& B
9.png ) Q5 q% u& W$ Z5 \/ j) @
1 V- {. x/ ^; ~' w0 V
10.png 0 p5 \! i1 N* n+ p# D- G

& s: ?$ [% Y" L' o# V6 L& f2 t" _0 u; D
& a% r% J1 p2 S4 x
FineReport与致远OA单点集成方案.rar (134.51 KB, 下载次数: 45)

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

本版积分规则

帖子推荐:
客服咨询

QQ:2753533861

服务时间 9:00-22:00

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