我们的服务器中有一堆报告,这些报告在许多用户之间共享。报表基于用户属性实现数据筛选,因此同一报表将向不同的用户显示不同的数据。每个用户都可以登录我们的服务器,ROLE_USES授予他们对共享报告的只读访问权限。
我们的问题是用户可以查看、编辑甚至删除彼此的计划作业。根据文档"典型用户只能看到他们自己定义的作业;管理员可以看到所有用户定义的作业。但事实似乎并非如此。
解决方法之一似乎是为用户创建单独的角色,然后复制报告。我们已经尝试过了。两个用户,每个用户有权访问不同的报表集。当他们转到"查看"->"计划"菜单时,他们仍然会看到所有计划作业,甚至是他们无法访问的报告的作业!
如果有人知道去哪里看,我真的很感激。我们一直在搜索许多JasperReports配置文件,但找不到任何线索...
我们使用的是 JasperReports Server 的社区版 6.2.1。
分析
通常,您希望将用户分成不同的组。这些组可用于分配权限。因此,让我们假设您有两个不同的组,财务和运营。应创建以下规则:
-
RULE_FINANCE
-
RULE_OPERATIONS
关于用户的设置,只需将新角色分配给用户即可。
注意:请记住,始终需要将ROLE_USER
分配给用户才能正常运行。请勿从用户中删除此角色。但是,在适用的情况下,您可以删除此用户的文件夹等权限。
使用角色
现在,每个角色或组都应该只能看到该角色或组创建的报告、文件夹或计划。
jasperadmin是社区版的最高级别管理员,始终能够查看所有用户的所有计划,报告和文件夹,并且在任何情况下都可以停用计划。