第三方应用新建一个报表图标,将MACO报表URL链接配置在报表图标中,链接中附带一个或多个登录参数,例如:
示例报表URL
http://192.168.1.10:8080/view/report.do?reportId=xxx&app=crm&usercode=zzz注意:通过URL集成最好附带一个参数app,用于识别本次登录是通过哪个app跳转过来的集成登录
- 登录MACO系统,进入 平台管理-系统设置, 开启用户登录脚本
编辑用户登录脚本,写入相应的登录逻辑
var version = java.lang.System.getProperty("java.version"); if (version.startsWith("1.8.0")) { load("nashorn:mozilla_compat.js"); } importPackage(java.util); importPackage(org.apache.commons.codec.digest); importPackage(com.alibaba.fastjson); importPackage(org.apache.commons.lang); //获取URL的参数 var app=request.getParameter("app"); var userCode=request.getParameter("usercode"); //如果app参数是空,说明不是集成登录,执行系统自带的登录逻辑,显示登录界面 if(StringUtils.isEmpty(app)){ result.setSuccess(true); result.setUseStandardVerification(true); } else if(StringUtils.equals(app, "crm"){ //如果是crm系统过来的登录 //检查系统中是否有这个用户 var hasUser = userService.hasUser(userCode); if(hasUser){ //登录成功 result.setSuccess(true); } else { //登录失败,执行系统自带的登录逻辑,显示登录界面 result.setSuccess(false); result.setUseStandardVerification(true); } }
注意:登录逻辑中可以使用LDAP认证、WebService调用、数据库查询等,详情参考:报表与用户集成