即时报表中如何使用权限控制接口

润乾即时报表提供了易用且高效率的报表快速设计方案,采用tag标签的设计布局,真正实现了无编码形式设计报表,用户可利用报表展现、汇总、统计、打印导出、生成统计图等功能搭建出轻量级企业报表平台

在实际应用中,可能会需要对用户可访问的表和可查看的数据作限制的情况。因此需要在即时报表中,加入对权限的控制。

润乾即时报表的权限的定义通过入口jsp的参数dataSet传入,参数的内容为XML格式的字符串,结构定义如下:


举个实例:

<?xml version=”1.0″ encoding=”utf-8″?>
<views>
<view name=”订单”>
<macro>订单.运货商&gt;3</macro>
<macro>订单.运货费&lt;50</macro>
</view>
<view name=”订单明细”>
<macro>订单明细.单价&gt;30</macro>
<macro>订单明细.数量&gt;100</macro>
</view>
</views>

这段xml串的权限代表的就是,在即时报表设计页面,只能看到两个视图,一个是订单,一个是订单明细。在订单视图下只能看到运货商大于3且运货费小于50的数据,在订单明细试图下,只能看到单价大于30且数量大于100的数据。

注:由于在xml中,无法区分”<”、”<”等符号,所以条件中的大于小于等符号,需要用”&gt”"&lt”来代替。

进入到即时报表的设计界面,我们就可以看到:


只能看到我们在权限xml串中定义的两个视图。

我们做一张数据来自订单明细的报表:


点击报表查看:


可以看到,数据根据权限进行了过滤。

所以,我们只需要提前设置好权限xml串,然后在进入即时报表设计页面之前,赋值给一个名叫dataset的参数即可:

request.setAttribute(“dataset”,dataset);

对于这个参数dataset中的xml串,可以根据客户的实际情况,可以存储到数据库中,根据用户名角色对应,在进入页面时从数据库即取即用。