BI报表嵌入第三方系统时,多用户并发会报用户权限不足

5751
8

dongy 小试身手Lv3

发表于2019-3-7 15:31

悬赏10

已解决

楼主
情况说明
XX系统要求为不同级别(全国及36个省份和地区)的用户展示相应地区的统计报表。如北京用户只能看到北京的统计结果,全国用户则可以看到各个地区及全国的统计情况
BI报表页面需要嵌入到XX系统中,其通过url请求获得BI系统的报表页面,用户在XX系统直接登录。

现在的实现方式为在BI系统中建立全国及各个地区的维表,字段为地区编码及对应的名称,在BI报表中设置权限控制,实现不同用户访问不同的数据,第三方系统用户信息直接通过URL传递URL,格式如下:
http://IP:8091/BI461/esmain/login.do?id=${user.unitCode!}&pw=******&url=../showreport.do?showmenu=false%26resid=EBI$12$UCRQSINF8UX3UIOCLP5T9VRF7ICCINRR$1$CNU6SLTNIP4LU5YN0AKUSDUIMUNO0YW9.rpttpl
现用户在使用XX系统访问报表时,会出现如图所示无权限访问的情况。经初步判断,为金融广告系统在为不同用户并发请求报表资源时,由于金融广告系统IP地址唯一,后请求的用户将占据先请求用户的sessionID,从而导致该session的权限发生变化,先请求用户无法正常访问。对于这种情况  是否有同事有解决思路呀


最近看过此主题的会员

Mr.fong

RLMBEST

esen_5DZFZFU7BU

esen_5AQQ2N4YOU

qwz

dddfrr

chestnut

最佳答案
dongy 发表于 2019-3-8 16:05
做表方式不是数据源的方式,权限控制是根据用户所在机构对应的地区维度区分的。不同用户对应的地区是不一 ...

从您的描述来看,B登录后不应该访问A现在访问的页面(BI报表模板rpt1),在BI系统中B用户本身也没有rpt1的查看权限。
那么B登录第三方系统后,点击链接去访问BI报表,具体是访问到哪一张报表,是由第三方系统挂载的url中的参数resid决定的,参数指定访问哪张报表,就会访问到哪张报表。从您的截图和url地址来看,是同一张报表模板,没有问题。
那么如果希望B登录第三方系统后,点击链接去访问的BI报表,跟A登录后访问到的BI报表不同,就需要在第三方系统中做权限控制,让B和A能看到的链接中的resid参数不同。

期待您的验证与再次反馈。
8个回答

只看楼主

缱绻 数据领袖Lv6

发表于2019-3-7 15:37

只看该作者

取消 关注该作者的回复

沙发

有几点疑问:
1、看您的链接中没有带用户名和密码,那么第三方系统是否跟BI做了单点登录呢?
2、是怎么控制数据权限的呢?通过数据级次权限还是在过滤条件中控制的呢?
3、报表中是否用的是sql数据源的方式做表的呢?如果是的话,需要勾选“执行sql数据源”的权限的。


缱绻 数据领袖Lv6

发表于2019-3-8 11:52

只看该作者

取消 关注该作者的回复

板凳

请问下您这边的问题解决了吗?如果有疑问,可继续跟帖哦

dongy 小试身手Lv3

发表于2019-3-8 16:05

只看该作者

取消 关注该作者的回复

地板

缱绻 发表于 2019-3-7 15:37
有几点疑问:
1、看您的链接中没有带用户名和密码,那么第三方系统是否跟BI做了单点登录呢?
2、是怎么控制 ...

做表方式不是数据源的方式,权限控制是根据用户所在机构对应的地区维度区分的。不同用户对应的地区是不一样的。链接中的id和pw就是用户名和密码。这些功能单个用户使用都是正常的 ,问题出在多用户并发的时候。我估计情况是这样的:比如说A正在登陆,查看页面正常,这时B也登陆,访问到BI的页面就自动访问A现在访问的页面,而不是B本来应该看到的,从而导致权限不足。   由于我单位没网,上论坛比较慢  回复的比较慢   十分感谢您回帖

缱绻 数据领袖Lv6

发表于2019-3-8 16:11

只看该作者

取消 关注该作者的回复

5#

dongy 发表于 2019-3-8 16:05
做表方式不是数据源的方式,权限控制是根据用户所在机构对应的地区维度区分的。不同用户对应的地区是不一 ...

是会在同一台电脑上的同一浏览器访问不同用户的报表吗??

dongy 小试身手Lv3

发表于2019-3-8 16:25

只看该作者

取消 关注该作者的回复

6#

缱绻 发表于 2019-3-8 16:11
是会在同一台电脑上的同一浏览器访问不同用户的报表吗??

不是同一台电脑  应该是不同电脑上的不同用户同时访问同一张报表

缱绻 数据领袖Lv6

发表于2019-3-8 16:52

只看该作者

取消 关注该作者的回复

7#

dongy 发表于 2019-3-8 16:25
不是同一台电脑  应该是不同电脑上的不同用户同时访问同一张报表

哦哦,如果是在同一个浏览器访问不同用户的报表,那可能存在被迫下线的可能,这个您要确认一下。您这边BI具体的版本号是多少呢?

缱绻 数据领袖Lv6

发表于2019-3-12 09:50

只看该作者

取消 关注该作者的回复

8#

请问下您这边的问题是否解决了呢?如有疑问请继续跟帖哦

只如初见 初学数据Lv2

发表于2019-3-7 15:31

只看该作者

取消 关注该作者的回复

9#

dongy 发表于 2019-3-8 16:05
做表方式不是数据源的方式,权限控制是根据用户所在机构对应的地区维度区分的。不同用户对应的地区是不一 ...

从您的描述来看,B登录后不应该访问A现在访问的页面(BI报表模板rpt1),在BI系统中B用户本身也没有rpt1的查看权限。
那么B登录第三方系统后,点击链接去访问BI报表,具体是访问到哪一张报表,是由第三方系统挂载的url中的参数resid决定的,参数指定访问哪张报表,就会访问到哪张报表。从您的截图和url地址来看,是同一张报表模板,没有问题。
那么如果希望B登录第三方系统后,点击链接去访问的BI报表,跟A登录后访问到的BI报表不同,就需要在第三方系统中做权限控制,让B和A能看到的链接中的resid参数不同。

期待您的验证与再次反馈。

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号