在登录平台时,不希望使用FR默认的内置登录界面,想通过自定义登录界面实现登录操作,内置登录界面如下图:
登录界面,获取到用户名和密码的值,发送到报表系统,报表服务带着这两个参数访问认证地址进行认证。
自定义登录界面
登录界面设置
自定义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()是主要的逻辑判断,实现的是将对应的值传给报表服务的逻辑实现过程。
调用登录界面
登录系统,选择管理系统>外观配置,在登录页选项中选择设置登录网页,并输入自定义登录页面的路径:login.html,如下图所示:
总结
比如说若用户有自己的系统,将FR继承到自己已有系统中,该系统有自己的登录界面,希望登录自己系统的同时也登录报表(即将输入的用户名密码也发送到报表服务进行认证),从而访问报表时不需要再次登录即单点登录,步骤如下:
1、找到您系统登录页面如login.jsp;
2、在login.jsp页面head中引入finereport.js;
3、在login.jsp页面JavaScript中定义function如dosubmit,在dosubmit中获取到输入的用户名密码,并通过iframe方式或者ajax方式进行认证。
4、在FineReport平台系统中设置自定义登录页面地址为您系统的登录地址。
若是OA系统或者报表系统和项目系统不再同一个服务器上,可以进行ajax跨域异步单点登录。
Session传值
对于java系统来说,可将用户名与密码放在session中,把报表集成在同一环境下面,报表可自动获取到用户名和密码的值进行验证。
还原默认登录界面
如果在决策系统修改了登录界面后,希望还原成系统默认登录界面,应该如何实现呢?
1)打开安装目录%FR_HOME%\WebReport\WEB-INF\resources,找到fsconfig.xml
2)删除loginUrl属性
右击fsconfig.xml文件,选择编辑器打开,删除文件中的loginUrl属性,如下,删除login.htm:
此时请务必关闭设计器,重新开启,再次进入数据决策系统,即可回到默认的登录界面。
还原到默认的登录界面后,如果再需要设置登录界面,可以用管理员账户登录,进行设置即可。
相关推荐
FineReport是一款支持插件化开发的报表软件,它允许用户根据自己的业务需求开发自定义控件。开发自定义控件主要分为几个步骤,本文将详细阐述这些步骤以及相关的知识点。 首先,我们需要实例化一个注册控件的接口。...
在FineReport中,提供了一种自定义登录界面的方法,这对于需要与自己系统进行集成的用户来说是非常有用的。用户可以通过设置自定义的登录页面,实现单点登录(SSO)的效果,即用户在登录自己的系统时,同时也登录了...
在FineReport中进行自定义标签时,首先需要创建一个地图组件,并选择相应的地图边界数据。接着,通过图表属性表中的“样式>标签”,选择自定义内容选项,此时可以输入自定义的JavaScript代码来实现特定的标签显示...
本文将深入探讨FineReport中的自定义控件CSS功能,帮助用户更好地理解和利用这一特性,以实现个性化和专业化的报表设计。 首先,我们要明白CSS(Cascading Style Sheets)的作用。CSS是一种用于描述HTML或XML(包括...
FineReport设计器有自动的消息推送功能,可设置报表定时推送和常规的日报周报推送。官方有自己的消息推送的接口,不过有些用户旺旺希望自己开发,符合自己需求的推送界面。 下面这个方案就从逻辑层面简单阐述一个...
在FineReport中,为了满足特定的业务需求,有时需要开发自定义控件。自定义控件可以帮助用户扩展FineReport的功能,使其能够实现更复杂的数据展示和交互。以下是一份详细的步骤指南,阐述如何开发FineReport的自定义...
FineReport支持多种不同的导出方式,直接使用FineReport内置导出按钮可以非常快捷方便的来对各种格式的输出,但是我们在web页面集成中的时候,往往只想将报表内容嵌入到iframe中,而工具栏以及工具栏上的按钮都会...
很多报表工具都自带大量的函数,在正常情况下足够满足用户的报表制作需求,但是在一些特殊领域,可能需要一些特殊的函数,在这种情况下,报表工具FineReport提供了自定义函数机制,可以由用户根据业务需要自己来定义...
FineReport是一款功能强大且国际通用的报表软件,广泛应用于企业的报表制作中。在日常工作中,我们经常需要制作以各种数据报表,来分析公司的经营业务的情况。今天,我们将为大家介绍FineReport软件的一些日常操作...
报表开发工具FineReport中js自定义按钮导出.pdf FineReport是一款 Reporting 和 Business Intelligence 工具,提供了多种导出方式,包括 PDF、Excel、Word、图片等格式。 FineReport 提供了内置的导出按钮,可以...
FineReport自定义css,只适用7.0系列版本。。。。。。
资源内包含Fine Report源文件、JS文件以及报表中涉及到的数据查询和代码,有需要的小伙伴可以自行下载使用。如需查看视频讲解可以访问哔哩哔哩:https://space.bilibili.com/630399480?spm_id_from=333.1007.0.0
8. **数据集与查询**:数据集是FineReport中的数据容器,它封装了数据源查询逻辑。熟练掌握数据集的创建、SQL编写以及使用预定义SQL,能让你更好地管理数据。 9. **子报表与分组**:子报表用于嵌套报表,分组则用于...
这是每个钉钉企业号的基础配置信息,用于在FineReport中进行配置对接。 在FineReport的管理平台中,通过钉钉管理节点进入后,将钉钉中的CorpID和CorpSecret填入相应字段,完成钉钉企业号的ID和管理组凭证密码的设置...
### 报表开发工具FineReport中如何把报表放到网页中显示 #### 一、背景介绍 随着信息技术的发展,越来越多的企业倾向于使用基于浏览器/服务器(Browser/Server,简称BS架构)的系统来处理业务流程。这类系统通常...
FineReport中的报表执行过程可以分为两个主要步骤,即报表计算和页面转换。 首先,报表计算过程涉及到从数据库读取数据并进行处理。具体来说,FineReport会先读取用户编写的SQL语句,然后将这些语句发送至数据库...
### 报表工具FineReport中如何把报表放到网页中显示 #### 一、背景与需求分析 随着互联网技术的发展,企业对于数据展示的需求越来越倾向于基于Web的解决方案。这些Web应用通常采用BS架构(Browser/Server架构),...
通过继承和重写接口中的方法,可以在登录时执行自定义的操作。 具体到代码实现上,需要在插件的配置文件中注册RequestInterceptor,指明插件的类路径,并在请求接收器RequestCMDReceiver的实现类中定义要拦截的命令...
1. **自定义模板设计**:FineReport支持自定义模板设计,用户可以按照需求构建各类报表样式。学习题可能涉及到如何创建表格、图表、文本框等元素,并调整它们的布局与样式。 2. **数据连接与查询**:FineReport允许...