自定义登陆界面

编辑
文档创建者:文档助手1 (67727 )     浏览次数:9397次     编辑次数:16次     

目录:

1. 问题描述编辑

在登陆平台时,不希望使用FR默认的内置登录界面,想通过自定义登录界面实现登录操作,内置登录界面如下图:

2. 解决思路编辑

登陆界面,获取到用户名和密码的值,发送到报表系统,报表服务带着这两个参数访问认证地址进行认证。

3. 示例编辑

3.1 自定义登陆界面
(1)登陆界面设置
自定义html登陆页面:命名为login.html,并保存在%FR_HOME%\WebReport下,代码如下 :
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="ReportServer?op=emb&resource=finereport.js"></script> <script type="text/javascript"> function doSubmit() { var username = FR.cjkEncode(document.getElementById("username").value); //获取输入的用户名 var password = FR.cjkEncode(document.getElementById("password").value); //获取输入的参数 jQuery.ajax({ url:"http://localhost:8075/WebReport/ReportServer?op=fs_load&cmd=sso",//单点登录的管理平台报表服务器 dataType:"jsonp",//跨域采用jsonp方式 data:{"fr_username":username,"fr_password":password},//获取用户名密码 jsonp:"callback", timeout:5000,//超时时间(单位:毫秒) success:function(data) { if (data.status === "success") { window.location=data.url;//认证成功跳转页面,因为ajax不支持重定向所有需要跳转的设置 //登录成功 } else if (data.status === "fail"){ alert("用户名或密码错误");//登录失败(用户名或密码错误) } }, error:function(){ alert("超时或服务器其他错误");// 登录失败(超时或服务器其他错误) } }); } </script> </head> <body> <p>请登录</p> <form name="login" method="POST"> <p> 用户名: <input id="username" type="text" /> </p> <p> 密 码: <input id="password" type="password" /> </p> <input type="button" value="登录" onclick="doSubmit()"/> </form> </body> </html>
注:dosubmit()是主要的逻辑判断,实现的是将对应的值传给报表服务的逻辑实现过程.
3.2 调用登陆界面
登录系统http://localhost:8075/WebReport/ReportServer?op=fs,选择管理系统>外观配置,在登陆页选项中选择设置登录网页,并输入自定义登录页面的路径:login.html,如下图所示:
222

4. 总结编辑

比如说若用户有自己的系统,将FR集成到自己已有系统中,该系统有自己的登陆界面,希望登录自己系统的同时也登录报表(即将输入的用户名密码也发送到报表服务进行认证),从而访问报表时不需要再次登录即单点登录。步骤如下:
1、找到您系统登录页面如login.jsp;
2、在login.jsp页面head中引入finereport.js;
3、在login.jsp页面javascript中定义function如dosubmit,在dosubmit中获取到输入的用户名密码,并通过iframe方式或者ajax方式进行认证,详细代码请查看平台系统单点登录接口
4、在FineReport平台系统中设置自定义登录页面地址为您系统的登录地址。
注:若您是OA系统或者报表系统和您的项目系统不在同一个服务器上,第三步可参考ajax跨域异步单点登录

5. Session传值编辑

对于java系统来说,可将用户名与密码放在session中,把我们报表集成在同一环境下面,报表可自动获取到用户名和密码的值进行验证。

6. 还原默认登录界面编辑

如果在决策系统修改了登陆界面后,希望还原成系统默认登录界面,应该如何实现呢?

(1)打开安装目录%FR_HOME%\WebReport\WEB-INF\resources,找到fsconfig.xml

222

(2) 删除loginUrl属性

右击fsconfig.xml文件,选择编辑器打开,删除文件中的loginUrl属性,如下,删除login.html:
222

注意:此时请务必关闭设计器,重新开启。再次进入数据决策系统,即可回到默认的登录界面。

还原到默认的登录界面后,如果再需要设置登陆界面,可以用管理员账号登陆,进行设置即可,步骤如上。

附件列表


主题: 部署集成
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用?
谢谢! 我们非常感谢您的反馈。
提交反馈: