报表查询过程中有时候会需要使用到用户身份信息,例如:
1) 所分析的数据范围与用户相关;
2) 需要记录用户访问的审计日志;
3) 需要通过用户身份控制表单里的操作权限或可见权限等。
那么,碰到以上业务随求时,该如何解决呢?
大体上有三种解决方案,用户可根据整合的复杂度和安全需要级别进行选择:
方案一、通过报表参数进行身份信息传递
即通过报表variants参数中直接传递用户信息,然后在报表、数据视图中使用该参数。
例如: variants=userName=zhangsan;roles=xxxx;…
由于参数值直接传递了,建议使用密文方式传参比较安全。
缺点:本模式只能通过公开方式访问,安全程度不高。
方案二、通过URL中带动态authId值的方式
先通过免登访问接口获得用户身份authId(相当于临时访问token),再将获得的authId值在报表访问的URL中带入。其步骤为:
1)第三方系统调用乐创者用户免登访问接口获取authId;
2)拼接报表访问URL,带入authId参数;
3)通过URL访问报表。
本方案v6.7.1版本开始支持。
方案三、通过第三方认证类动态生成authId值方式
比方案本质上与方案二差不多,区别在于用户免登的过程是在报表访问发起后再进行的。其步骤为:
1)拼接报表访问URL,带入privilege_type和validateVariants参数;
2)通过URL发起报表访问请求;
3)在报表页面加载时,会根据传入的privilege_type和validateVariants参数对用户进行免登,并实时生成authId值,本authId值在该报表后续的操作和超链接中都有效。
作者:柳杨 创建时间:2024-10-18 11:58
最后编辑:柳杨 更新时间:2025-04-22 15:31
最后编辑:柳杨 更新时间:2025-04-22 15:31
