用户/权限/资源管理:ROLE_ADMINISTRATOR、ROLE_SUPERUSER、jasperadmin 等的用法?

User / Rights / Resource management: usage of ROLE_ADMINISTRATOR, ROLE_SUPERUSER, jasperadmin and more?

(在对我们的 Jasper Server 权限管理进行一些相当不合理的使用后,我们遇到了很多问题,想分享一些文档中未提及的见解。)

为什么不应该重命名角色 ROLE_ADMINISTRATORROLE_SUPERUSERjasperadmin

哪些默认值应该适用于它们?

还有哪些不直观的限制适用于权限管理(可能与 repo 文件夹结构、用户管理、资源管理相关)?

(待续 - 欢迎在将来可能的情况下编辑或移动到 SO 文档)

特定于管理员:

  • jasperserver代码依赖ROLE_ADMINISTRATORROLE_SUPERUSER的存在(社区版没有,但可以创建)jasperadmin.
    因此不应重命名它们。
  • 拥有 ROLE_SUPERUSER 的用户,一旦创建,就有机会 Export 整个回购树在 GUI 中右键单击 repo 文件夹
  • jasperadmin 应该是 ROLE_ADMINISTRATOR
  • 的一部分
  • jasperadmin(不是 ROLE_ADMINISTRATOR!)应该对 / 根节点 具有 Administrator 权限
    • 否则 ROLE_ADMINISTRATOR 似乎无法正常工作,并且其中的成员没有管理员权限

总体:

  • 如果有人 没有 ROLE_ADMINISTRATOR无法上传输入控件 ,即使他有 Administrator所需文件夹的权限:-(
    • 在许多开发人员在不同领域工作并且可能不完整的 Jasper Server Admins
    • 的多开发环境中,这不是很好
  • 以便download/view上传文件,例如PDF、XLSX 等需要 read + write 特权 ,因为由于某些原因 read onlyexecute only 是不够的 (5.2.0)
    • 因此在每个可能的上传位置创建一些子文件夹 downloads 似乎是合理的,这些子文件夹应该继承对其包含的资源的此权利
  • 资源的内部 id 路径的长度限制为 100(左右)个字符 - 如果您想编辑一些嵌套更深的输入控件(您仍然可以使用它,但不能编辑它)
    • 因此你应该小心,因为在更深的嵌套结构上可能会更快地达到这一点
    • 创建文件夹 /_dev 然后将其重命名为 _report-developers 可以,例如更好,因为 id 路径将保留 /_dev.

最佳实践:

  • (目前我们认为不要过度使用 Jasper Server GUI 而是将报告嵌入到更好的文档管理系统(例如 Alfresco、SharePoint、WebCenter)中可能比 up-/downloading 非报告要好得多资源或在这个非常特殊的环境中管理 users/rights)
  • 完全没有用户特定的权限总是好的,但是创建和思考应该这样命名的业务角色
  • 理想情况下,人们应该在设计角色时不要考虑资源特定
    • so -ROLE_FOLDER_SALES_2016-03- 不是一个好的做法,而是创建例如某些角色 ROLE_DEPARTM_SALESROLE_DEPARTM_PRODUCTION 并应用适当的权利,例如一些文件夹 sales-2016-03sales-2015-07、...
  • 一些报告开发人员部分的简短、有意义的 repo id 路径是非常推荐的因为例如输入控件和其他内容显示在 Report Units(可在服务器 GUI 中执行),而不是 "name path"
  • 输入控件的有意义命名or/and它们的父文件夹(待续)
  • 角色命名(待续)
  • repo 树布局(待续)
  • 根节点重命名(待续)

(目前所有的一切都是在 JasperServer 5.2.0 上体验到的)