Skip to end of metadata
Go to start of metadata

 

【应用场景】

某用户数较多时,手动配置管理数据权限的效率是非常低的,因此可以为目录配置数据权限同步,将数据权限同步到指定目录中。

 

示例脚本
var version = java.lang.System.getProperty("java.version");
if (version.startsWith("1.8.0")) {
	load("nashorn:mozilla_compat.js");
}
importPackage(com.alibaba.fastjson);
var data = new JSONArray();
//连接名称,在"连接管理"中配置相应的数据库连接
var connectionName = "local dataset";
//查询数据权限信息
var sql="select userid, shopcode from thetable";
var dpRows = databaseService.query(connectionName, sql, null);
if(dpRows.size() > 0){
    for(var i = 0; i < dpRows.size(); i++){
        var row = dpRows.get(i);
        var dpObj = new JSONObject();
		//用户名,必须使用参数username
        dpObj.put("username", row.get("userid")); 
		//字段名,必须使用参数field
        dpObj.put("field", "SHOPCODE");
		//数据权限值
        dpObj.put("value", row.get("shopcode"));
		//描述
		dpObj.put("description", row.get("description"));
        data.add(dpObj);
    }
}
//如果设置为false,表示不执行本次同步操作
result.setSuccess(true);
result.setData(data);

 

 

 

 

  • No labels