使用关系安全方式可控制用于状态的安全性规则如何应用于关系属性。可以在用于状态的安全性规则中的可修改属性中包含关系属性。能够修改关系属性意味着用户可以在具有关系属性的对象的对话框上关联或取消关联 CR。
例如,假定您要定义具有以下特性的父 CR 和子 CR:
- 父 CR 可以创建或删除子 CR 关系(从子 CR 关联或取消关联自身)。父 CR 处于 assigned 状态时,它使用 cr_child 关系属性。
- 子 CR 可以创建或删除父 CR 关系(从父 CR 关联或取消关联自身)。子 CR 处于 entered_child_cr 状态时,它使用 has_cr_child 关系属性。
- 用户必须具有 assigner 特权才能修改处于 assigned 状态的 CR,并且 cr_child 关系属性会包含在可修改属性中。
- 用户必须具有 assigner_child_cr 特权才能修改处于 entered_child_cr 状态的 CR,并且 has_cr_child 关系属性会包含在可修改属性中。
在此示例中,关系安全方式提供了以下安全性选项:
- 没有应用关系安全
用户可以创建和删除从处于任何状态的父 CR 到子 CR 的关系,与安全性规则无关。此设置是缺省设置。
- 应用关系安全到两个对象中
仅当同时满足父 CR 和子 CR 的安全性规则时,用户才能创建和删除从父 CR 到子 CR 的关系。
- 只应用关系安全到源对象
仅当满足父 CR 的安全性规则时,用户才能创建和删除从父 CR 到子 CR 的关系。
- 只应用关系安全到目标对象
仅当满足子 CR 的安全性规则时,用户才能创建和删除从父 CR 到子 CR 的关系。