`

FineReport中如何自定义登录界面

阅读更多

在登录平台时,不希望使用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:



 

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

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

  • 大小: 299 KB
  • 大小: 121.4 KB
  • 大小: 33.5 KB
  • 大小: 39.1 KB
0
0
分享到:
评论

相关推荐

    如何开发FineReport的自定义控件?

    FineReport是一款支持插件化开发的报表软件,它允许用户根据自己的业务需求开发自定义控件。开发自定义控件主要分为几个步骤,本文将详细阐述这些步骤以及相关的知识点。 首先,我们需要实例化一个注册控件的接口。...

    FineReport中自定义登录界面的方法

    在FineReport中,提供了一种自定义登录界面的方法,这对于需要与自己系统进行集成的用户来说是非常有用的。用户可以通过设置自定义的登录页面,实现单点登录(SSO)的效果,即用户在登录自己的系统时,同时也登录了...

    FineReport中如何用JavaScript自定义地图标签

    在FineReport中进行自定义标签时,首先需要创建一个地图组件,并选择相应的地图边界数据。接着,通过图表属性表中的“样式&gt;标签”,选择自定义内容选项,此时可以输入自定义的JavaScript代码来实现特定的标签显示...

    FineReport报表工具自定义控件CSS概述

    本文将深入探讨FineReport中的自定义控件CSS功能,帮助用户更好地理解和利用这一特性,以实现个性化和专业化的报表设计。 首先,我们要明白CSS(Cascading Style Sheets)的作用。CSS是一种用于描述HTML或XML(包括...

    如何给FineReport设置自定义消息提醒工具

    FineReport设计器有自动的消息推送功能,可设置报表定时推送和常规的日报周报推送。官方有自己的消息推送的接口,不过有些用户旺旺希望自己开发,符合自己需求的推送界面。 下面这个方案就从逻辑层面简单阐述一个...

    解析如何开发FineReport的自定义控件

    在FineReport中,为了满足特定的业务需求,有时需要开发自定义控件。自定义控件可以帮助用户扩展FineReport的功能,使其能够实现更复杂的数据展示和交互。以下是一份详细的步骤指南,阐述如何开发FineReport的自定义...

    FineReport中JS如何自定义按钮导出

    FineReport支持多种不同的导出方式,直接使用FineReport内置导出按钮可以非常快捷方便的来对各种格式的输出,但是我们在web页面集成中的时候,往往只想将报表内容嵌入到iframe中,而工具栏以及工具栏上的按钮都会...

    关于报表工具FineReport的自定义函数的应用

    很多报表工具都自带大量的函数,在正常情况下足够满足用户的报表制作需求,但是在一些特殊领域,可能需要一些特殊的函数,在这种情况下,报表工具FineReport提供了自定义函数机制,可以由用户根据业务需要自己来定义...

    报表工具FineReport使用教程之自动计算日期.docx

    FineReport是一款功能强大且国际通用的报表软件,广泛应用于企业的报表制作中。在日常工作中,我们经常需要制作以各种数据报表,来分析公司的经营业务的情况。今天,我们将为大家介绍FineReport软件的一些日常操作...

    报表开发工具FineReport中js自定义按钮导出.pdf

    报表开发工具FineReport中js自定义按钮导出.pdf FineReport是一款 Reporting 和 Business Intelligence 工具,提供了多种导出方式,包括 PDF、Excel、Word、图片等格式。 FineReport 提供了内置的导出按钮,可以...

    FineReport7.0版,自定义css

    FineReport自定义css,只适用7.0系列版本。。。。。。

    FineReport-自定义分页、翻页、跳转及总页数显示功能演示

    资源内包含Fine Report源文件、JS文件以及报表中涉及到的数据查询和代码,有需要的小伙伴可以自行下载使用。如需查看视频讲解可以访问哔哩哔哩:https://space.bilibili.com/630399480?spm_id_from=333.1007.0.0

    fineReport课后10题答案.zip

    8. **数据集与查询**:数据集是FineReport中的数据容器,它封装了数据源查询逻辑。熟练掌握数据集的创建、SQL编写以及使用预定义SQL,能让你更好地管理数据。 9. **子报表与分组**:子报表用于嵌套报表,分组则用于...

    如何将钉钉集成到FineReport插件中(官方)

    这是每个钉钉企业号的基础配置信息,用于在FineReport中进行配置对接。 在FineReport的管理平台中,通过钉钉管理节点进入后,将钉钉中的CorpID和CorpSecret填入相应字段,完成钉钉企业号的ID和管理组凭证密码的设置...

    报表开发工具FineReport中如何把报表放到网页中显示

    ### 报表开发工具FineReport中如何把报表放到网页中显示 #### 一、背景介绍 随着信息技术的发展,越来越多的企业倾向于使用基于浏览器/服务器(Browser/Server,简称BS架构)的系统来处理业务流程。这类系统通常...

    详细解密FineReport中的报表执行过程

    FineReport中的报表执行过程可以分为两个主要步骤,即报表计算和页面转换。 首先,报表计算过程涉及到从数据库读取数据并进行处理。具体来说,FineReport会先读取用户编写的SQL语句,然后将这些语句发送至数据库...

    报表工具FineReport中如何把报表放到网页中显示

    ### 报表工具FineReport中如何把报表放到网页中显示 #### 一、背景与需求分析 随着互联网技术的发展,企业对于数据展示的需求越来越倾向于基于Web的解决方案。这些Web应用通常采用BS架构(Browser/Server架构),...

    FineReport-任意时刻只允许在一个客户端登陆账号的插件

    通过继承和重写接口中的方法,可以在登录时执行自定义的操作。 具体到代码实现上,需要在插件的配置文件中注册RequestInterceptor,指明插件的类路径,并在请求接收器RequestCMDReceiver的实现类中定义要拦截的命令...

    finereport10习题答案.zip

    1. **自定义模板设计**:FineReport支持自定义模板设计,用户可以按照需求构建各类报表样式。学习题可能涉及到如何创建表格、图表、文本框等元素,并调整它们的布局与样式。 2. **数据连接与查询**:FineReport允许...

Global site tag (gtag.js) - Google Analytics