【问题标题】:JasperReports Server: Limit visibility of scheduled jobs to the creatorJasperReports 服务器:将计划作业的可见性限制为创建者
【发布时间】:2016-07-12 16:03:50
【问题描述】:

我们的服务器中有大量报告供许多用户共享。报表实现了基于用户属性的数据过滤,因此同一份报表将向不同的用户显示不同的数据。每个用户都可以登录我们的服务器,ROLE_USES 为他们提供对共享报告的只读访问权限。

我们的问题是用户可以查看、编辑甚至删除彼此的预定作业。根据文档“典型用户只能看到他们自己定义的工作;管理员看到所有用户定义的工作。”。但似乎并非如此。

其中一种解决方法似乎是为用户创建单独的角色,然后制作报告的副本。我们已经尝试过了。两个用户,每个用户都可以访问不同的报告集。当他们转到“查看”->“计划”菜单时,他们仍然可以看到所有计划的作业,甚至是那些他们无权访问的报告的作业!

我真的很感激有人知道去哪里找。我们找遍了很多 JasperReports 的配置文件,但找不到任何线索……

我们正在使用 JasperReports Server 的 Community Edition 6.2.1。

【问题讨论】:

    标签: jasperserver


    【解决方案1】:

    分析

    通常您希望将用户分成不同的组。这些组可用于分配权限。因此,假设您有两个不同的组,FinanceOperations。应创建以下规则:

    • RULE_FINANCE
    • RULE_OPERATIONS

    关于用户的设置,只需将新角色分配给用户即可。

    注意:请记住,ROLE_USER 始终需要分配给用户才能正常运行。 不要从用户中删除此角色。在适用的情况下,您可以删除权利,例如不过,此用户的文件夹。

    使用角色

    现在每个角色或组应该只能看到该角色或组创建的报告、文件夹或计划。

    jasperadminCommunity Edition 的最高级别管理员,始终能够查看所有用户的所有计划、报告和文件夹,并且可以停用计划无论如何。

    【讨论】:

    • 谢谢。正如我在我的帖子“一种解决方法......”中提到的,我们创建了多个角色并制作了报告的副本。在此设置中,用户将如下所示: User1: ROLE_USER | ROLE_A 用户:ROLE_USER | ROLE_B 然后我们将在两个文件夹中创建报告的副本: 文件夹 A - ROLE_A 可见 文件夹 B - ROLE_B 可见 现在每个用户只能看到他们的报告。但是,用户 A 仍然可以看到用户 B 的日程安排(在 View -> Schedules 页面中)并且可以编辑/删除它们。
    • 这真的很奇怪,因为默认行为不允许不同的角色访问另一个角​​色的时间表,例如see here。也许这是因为副本。尝试让两个角色都访问一份报告,并且不要提供副本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 2014-10-28
    • 2020-06-04
    • 2014-05-26
    • 1970-01-01
    相关资源
    最近更新 更多