This website requires JavaScript.

SSRS报表下载权限控制

SSRS报表中内置了一个字段Globals!RenderFormat  其包含两个属性Name  和** IsInteractive .  ** Name是我们导出数据时候选择的导出类型名字,IsInteractive 则表示是否被选中.

image

SSRS报表对象都有一个属性Hidden,支持表达式,我们可以根据用户所选的导出选项来判断从而对下载内容进行隐藏.

image

RenderFormat.Name 可以根据服务器上 C:\Program Files\Microsoft SQL Server\MSRSxx.SQLxxxx\Reporting Services\ReportServer目录的配置文件 rereportserver.config  获取,位置在**<Render>**节点

image

以下是我使用的判断语句,各位情况可能有所不同,请查看配置文件.

=IIF(Globals!RenderFormat.Name = "EXCELOPENXML" or Globals!RenderFormat.Name = "IMAGE" or Globals!RenderFormat.Name = "CSV" or Globals!RenderFormat.Name = "PDF" or Globals!RenderFormat.Name = "WORDOPENXML" , True, False)
其中CSV,XML 这样操作导出的时候还是会显示,还需要把DataElementOutput属性设置为NoOutput

最后还有一个MHTML格式,没找到方法搞定. 直接在服务器端配置未见中把这个选项删除了= =. 有小伙伴可以单独控制的话请告知.

参考文章: Hide/Show Items Dependant On Export Format (SSRS) How to change Rendering Extensions in SQL Server Reporting Services

0条评论
avatar