Skip to end of metadata
Go to start of metadata

 

  1. 第三方应用新建一个报表图标,将MACO报表URL链接配置在报表图标中,链接中附带一个或多个登录参数,例如:

    示例报表URL

    http://192.168.1.10:8080/view/report.do?reportId=xxx&sso=true&app=crm&username=zzz

    注意:通过URL集成最好附带一个参数app,用于识别本次登录是通过哪个app跳转过来的集成登录



  2. 登录MACO系统,进入  平台管理-系统设置, 开启用户登录脚本


  3. 编辑用户登录脚本,写入相应的登录逻辑

    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("username");
     
    //如果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调用、数据库查询等,详情参考:报表与用户集成

 

 

 

 

 

 

 

 

 

 

 

 

  • No labels