问题背景
去年使用dataease 2.10设计了多张报表,效果很好。但是社区版,有个硬伤:只有一个用户,使用无法根据用户授权,看到不同的报表。然后看到它有报表分享链接功能,并且链接确实可以在浏览器打开。受领导委托,在某系统定义菜单,挂接分享链接,某系统支持多用户配置菜单功能。于是吭叽吭叽挂上,满怀希望打开,但是页面老报“已设置有效期密码必填,当前链接无效!” ,我反复看了三遍,确实没有设置密码或有效期,并且分享链接确实能在浏览器打开,我勒个去。
解决过程
被“”已设置有效期密码必填,当前链接无效!“”,折磨了一天。没办法只能看看源码,先找到入口:
根据上面入口找到源码(以2.10.2版本为例):XpackShareServer的proxyInfo,关键点加上log日志打印,
然后编译打包,部署重新验证,看看日志,最终发现在XpackShareManage.proxyInfo下图的打印到inIframeError就结束:
然后,修改为下图:
去掉是否在iframe打开及许可检验,重新编译打包运行。终于解决。
最后
这个问题解决了,但是对于数据安全性高的情况下,可能需要对分享链接有时间限制,比如过半个小时后,链接失效。我验证一下,对于社区版,即使分享链接时已经配置失效时间。但是时间到了,依然有效。又是个坑,下次有机会解决。建议预算允许情况下,还是购买企业版吧。省得一个个趟坑。
需要交流:lita2lz