加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

birt权限管理初探

发布时间:2020-12-14 02:41:04 所属栏目:大数据 来源:网络整理
导读:birt是一类由eclipse提供的开源报表工具,具有可视化图标和表格的功能,其url的主要格式类似于http://myhost/frameset?__report=/report/xxx.rptdesign的格式,因此如何判断__report的值成了判断指定报表的关键。 很多时候,人们的做法是指定一个登录服务器

birt是一类由eclipse提供的开源报表工具,具有可视化图标和表格的功能,其url的主要格式类似于http://myhost/frameset?__report=/report/xxx.rptdesign的格式,因此如何判断__report的值成了判断指定报表的关键。

很多时候,人们的做法是指定一个登录服务器,用于管理所有的用户登录权限,但是用户在登录以后就可以浏览所有的报表,假如此时出现了新的需求,财务部的用户需要一份财务部的报表,而市场部的用户登录了服务器以后,也同样具有了查看财务报表的权限,在一个比较大的公司,这将是一件比较危险的事情,或者说,公司新来的同时只允许查看近20天的公司的数据,或者说是2014年以前的报表将被禁止查看。而针对数据级的权限控制目前看来还没有一个通用的方案。

笔者经过调研,发现一类权限管理的框架---shiro。这是一个apache的开源权限管理方案,相较于spring的方式,配置显得更加简单。但是很遗憾的是,shiro仅仅是针对路径的权限管理控制。

再经过研究,发现可以针对shiro的二次开发,比如继承shiro的filter类,扩展过滤规则,或者扩展realm类,丰富权限和角色的种类。然后通过丰富的规则和角色以及权限,通过url的规则来界定用户的访问权限,

例如 GET http://myhost/frameset?__report=/report/xxx.rptdesign&day=20150101?

即可通过提取day和__report两个参数来判断相应的用户权限。总的来讲,整个过程的实现并不困难

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读