FR与致远集成方案1

  • 格式:doc
  • 大小:936.50 KB
  • 文档页数:5

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.在SeeyonReport的同目录下,放一个报表工程WebReport,如下图1所示:

图1

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

图2

然后test用户登录OA后,可以看到关联系统里面有一个帆软报表的链接,如下图3所示:

图3

2.与刚部署的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单点登录,同时,新增一个cjkEnocde的function。具体代码见改文件目录的login.jsp。

然后,将OA里的用户同步到WebReport里。首先,连上OA的数据库(以MySQL 为例),然后建立一个服务器数据集,通过

SELECT as department, as role,

as username,a.login_name,a.credential_value

FROM dbo.[ORG_PRINCIPAL] a left join _MEMBER m on

a.member_id=m.id

left join dbo.[ORG_POST]p on p.id=_post_id

left join dbo.[ORG_UNIT]org on org.id=_department_id

如下图4,图5所示:

图4

图5

可以看到,其密码都是加密过的,因此需要我们fs配置自定义加密类。将改目录下的TestPasswordValidator.class放到

WebReport\WEB-INF\classes\com\fr\privilege\providers\dao目录下,没有则新建。

另外还需要将seeyon_ctp_core.jar放到WebReport\WEB-INF\lib目录下;

这两个方法好,重启报表工程。

然后登陆fs配置,如图6所示:(自定义加密那里的路径填写成com.fr.privilege.providers.dao.TestPasswordValidator)

图6

配置好后,再登录OA来验证单点登录是否成功,如下图7,图8,图9所示:

图7

图8

图9(“测试”即为OA登录的test用户)