第 46 章 问题单管理安全
案例在问题单定义级别配置了 case 角色。这些是涉及问题单处理的通用参与者。这些角色可以分配给用户任务,也可以用作联系人参考。角色不会硬编码到特定的用户或组,以便使问题单定义独立于任何给定实例涉及的实际执行者。只要实例处于活动状态,您可以在任何时候修改问题单角色分配,但修改角色分配不会影响之前角色分配创建的任务。
默认启用实例安全性。案例定义可防止不属于该问题单的用户访问数据。除非用户有问题单角色分配(以用户或组成员分配),否则他们无法访问问题单实例。
案例安全性是建议在启动案例实例时分配案例角色的原因之一,因为这会防止将任务分配给本例不应访问的用户。
46.1. 配置问题单管理的安全性 复制链接链接已复制到粘贴板!
您可以通过将以下系统属性设置为 false 来关闭问题单实例授权:
org.jbpm.cases.auth.enabled
这个系统属性只是一个安全组件,用于实例。另外,您可以使用 case-authorization.properties 文件在执行服务器级别配置问题单操作,它位于执行服务器应用程序的类路径根目录(kie-server.war/WEB-INF/classes)。
对所有可能的案例定义使用简单的配置文件可强制您认为是特定于域的案例管理。案例安全性的 AuthorizationManager 可以插入,它允许您为特定安全处理包含自定义代码。
您可以将以下问题单实例操作限制为问题单角色:
-
CANCEL_CASE -
DESTROY_CASE -
REOPEN_CASE -
ADD_TASK_TO_CASE -
ADD_PROCESS_TO_CASE -
ADD_DATA -
REMOVE_DATA -
MODIFY_ROLE_ASSIGNMENT -
MODIFY_COMMENT
先决条件
- Red Hat Process Automation Manager KIE 服务器没有运行。
流程
在首选的编辑器中打开
JBOSS_HOME/standalone/deployments/kie-server.war/WEB-INF/classes/case-authorization.properties文件。默认情况下,该文件包含以下操作限制:
CLOSE_CASE=owner,admin CANCEL_CASE=owner,admin DESTROY_CASE=owner,admin REOPEN_CASE=owner,admin
CLOSE_CASE=owner,admin CANCEL_CASE=owner,admin DESTROY_CASE=owner,admin REOPEN_CASE=owner,adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 根据需要为这些操作添加或删除角色权限:
-
要删除某个角色执行操作的权限,请在
case-authorization.properties文件中从该操作的授权角色列表中删除它。例如,从CLOSE_CASE操作中删除admin角色会将权限设置为所有情况的问题单所有者。 要赋予一个角色权限来执行问题单操作,请将其添加到
case-authorization.properties文件中该操作的授权角色列表中。例如,要允许具有manager角色的任何人都执行CLOSE_CASE操作,请将其添加到角色列表中,用逗号分隔:CLOSE_CASE=owner,admin,manager
-
要删除某个角色执行操作的权限,请在
要为文件中列出的其他问题单操作添加角色限制,请从行中删除
#并以以下格式列出角色名称:OPERATION=role1,role2,roleN文件中以
#开头的操作受到忽略的限制,并可以被涉及的任何人执行。-
在分配完角色权限后,保存并关闭
case-authorization.properties文件。 启动执行服务器。
问题单授权设置应用到执行服务器中的所有情况。