可以将已经做好的报表集成到第三方系统中,报表是H5的,所以只需要在第三方系统中通过iframe嵌入报表链接即可. iReport365提供了以下两种报表集成方式: |
通过将用户名和密码作为参数放入报表链接中,实现即时登录和权限控制。
在报表设计器中,预览报表,获得报表的访问链接,例如:
https://enterprise.ireport365.com/view/report.do?reportId=98062e02a4294eda86423f464485089e |
在报表的访问链接中加入用户名及密码参数,例如:
https://enterprise.ireport365.com/view/report.do?reportId=98062e02a4294eda86423f464485089e&username=demo&password=123456 |
参数列表如下:
参数名 | 含义 |
---|---|
username | 用户的登录名 |
password | 用户的登录密码,明文 |
md5password | 用户的登录密码,使用md5加密的密文 |
注:password和md5password只需提供其中一个即可
向报表服务器获得accessToken(访问码),通过Api生成包含加密认证的报表url,url过期时间为10分钟,大大提升系统安全性
替换Api源码中的以下参数:
Api源码参数 | 描述 |
---|---|
host | 替换成相应的报表服务器地址,包含http,不能以 / 结尾 |
appId | 授权应用的appId |
appSecret | 授权应用的安全码 |
API_v1: 第一版API接口(已废弃)
API_v2: 第二版API接口
如果需要与现有的用户系统集成,用户无需管理新的密码,可以启用iReport365报表平台的用户登录脚本,当用户登录时,执行管理员设定的脚本,比如使用SQL或WebService验证用户输入的密码。
设置用户登录脚本,例如:
importPackage(java.util); importPackage(org.apache.commons.codec.digest); //获取用户登录时填写的用户名和密码 var username=request.getParameter("username"); var password=request.getParameter("password"); //将密码MD5加密 var md5Password = DigestUtils.md5Hex(password); //用户库的连接名称 var connectionName = "user_db_connection"; var param = new ArrayList(); param.add(username); param.add(md5Password); //查询用户库 var sql = "select uid,name from user_table where username=? and password=?"; var data = databaseService.query(connectionName, sql, param); if(data.size() === 0){ result.setSuccess(false); result.setMessage("用户名或密码错误"); }else{ result.setSuccess(true); } |