Home >Web Front-end >HTML Tutorial >How to customize the login interface in FineReport
When logging in to the platform, I do not want to use the default built-in login interface of FR. I want to implement the login operation through a customized login interface. The built-in login interface is as shown below:
#Log in to the interface, obtain the user name and password values, and send them to the reporting system. The reporting service accesses the authentication address with these two parameters for authentication.
Customized login interface
Login interface settings
Customized html login page: Name it login.html and save it under %FR_HOME%\WebReport. The code is as follows:
<span style="font-family: 'Microsoft YaHei', 微软雅黑, SimHei, tahoma, arial, helvetica, sans-serif; font-size: 14px;"><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></span>
Dosubmit() is the main logic Judgment realizes the logical implementation process of passing the corresponding value to the report service.
Calling the login interface
Log in to the system, select Management System>Appearance Configuration, and select from the login page options Set the login web page and enter the path of the custom login page: login.html, as shown below:
Summary
For example, if the user has his own system, he will inherit FR to his existing system, and the system will have its own login interface. , I hope to log in to the report while logging into my own system (that is, the entered username and password will also be sent to the report service for authentication), so that when accessing the report, there is no need to log in again, that is, single sign-on. The steps are as follows:
1. Find your system login page such as login.jsp;
2. Introduce finereport.js into the login.jsp page head;
3. Define a function such as dosubmit in the JavaScript of the login.jsp page. Obtain the entered user name and password in dosubmit, and authenticate through iframe or ajax.
4. Set the custom login page address in the FineReport platform system as the login address of your system.
If the OA system or reporting system and the project system are not on the same server, you can perform ajax cross-domain asynchronous single sign-on.
For java system , the username and password can be placed in the session, and the report can be integrated in the same environment. The report can automatically obtain the username and password values for verification.
Restore the default login interface
If you want to restore the default login interface to the system after modifying the login interface in the decision-making system, how should you achieve this? ?
1) Open the installation directory %FR_HOME%\WebReport\WEB-INF\resources and find fsconfig.xml
2) Delete the loginUrl attribute
Right-click the fsconfig.xml file, select Editor to open, delete the loginUrl attribute in the file, as follows, delete login.htm:
At this time, please be sure to close the designer, reopen it, and enter the data decision-making system again to return to the default login interface.
After restoring to the default login interface, if you need to set the login interface again, you can log in with an administrator account and set it up.
The above is the detailed content of How to customize the login interface in FineReport. For more information, please follow other related articles on the PHP Chinese website!