自定义登录界面、单点登录,用户登录,ajax的,登陆界面设置,登陆页面。
进行身份验证前,需要将报表默认的参数用户名fr_username和密码fr_password发送给报表系统,如何发送呢?
1. 通过登录界面
登陆界面,可获取到用户名和密码的值,发送到报表系统,报表服务将带着这两个参数访问认证地址进行认证。
1.1 独立的登录界面
在权限配置模块中,FineReport内置了一个登录页面,如下图:
1.2 自定义登陆界面
自定义html登陆页面:命名为login.html,并把保存在%FR_HOME%\WebReport下,代码如下 :
注:dosubmit()是主要的逻辑判断,实现的是将对应的值传给报表服务的逻辑实现过程。
在http://localhost:8075/WebReport/ReportServer?op=fr_platform,FR管理平台,选择权限配置>登录设置,自定义登录页面访问地址上,输入自己的登录页面路径/WebReport/login.html,如下图所示:
注:若使用自定义登录界面的话,必须要把是否使用finereport内置登录页面后面的勾去掉。
验证成功后跳转页面:指定义好权限后,用户访问系统,若他是直接输入的登录地址,那么登录成功后会自动跳转到指定的页面,若他是访问报表系统中的其他地址,比如访问的是一张模板,那么若该用户没有登录过,会先弹出登录界面,登录成功后跳转到访问的那个地址。
1.3 单点登录
若您有自己的登陆界面,希望登录您系统的同时也登录报表(即将输入的用户名密码也发送到报表服务进行认证),从而访问报表时不需要再次登录即单点登录。步骤如下:
- 在login.jsp页面head中引入finereport.js;
- 在login.jsp页面javascript中定义function如dosubmit,在dosubmit中获取到输入的用户名密码,并通过iframe方式进行认证,添加的代码如下:
- 在FineReport管理平台中设置权限自定义登录页面地址为您系统的登录地址。
如上操作登陆界面就设置完成了。
若您是OA系统或者报表系统和您的项目系统不在同一个服务器上,可参考跨域单点登录章节。 2. Session传值
对于java系统来说,可将用户名与密码放在session中,把我们报表集成在同一环境下面,报表可自动获取到用户名和密码的值进行验证。
返回顶部