Access rights - CX_SECURITY_SET

Objects of this class are used to combine objects of the classes CX_CLASS_SECURITY, CX_OBJECT_SECURITY and CX_MESSAGE_SECURITY as well as other CX_SECURITY_SET objects.

CX_SECURITY_SET is intended as a grouping of security objects that describe access rights for disjoint sets of objects - i.e. there is no case of specialization for coupling with data field specializations. But it is also possible to combine general and special descriptions in one security set instead of subordination by means of specializations , if the order in securityObjects guarantees that special objects always come before more general ones.

Example:

There are classes A, A1, A2 and B. A1 and A2 are derived from A, while B is independent of A:

CX SECURITY SET Tree

Access to objects of classes A, A1 and B are defined with CX_CLASS_SECURITY objects. For some instances of A1, different rights are to apply(CX_OBJECT_SECURITY). Possibilities to realise this are

  • Only the security objects for classes A and B are in the security set. The general specification for class A is subordinated to the specialisation for the derived class A1 and the CX_OBJECT_SECURITY object is subordinated to this:

CX SECURITY SET1

  • All security objects are directly assigned to the security set. The order of the security objects referring to A and A1 is essential:

CX SECURITY SET2

Both variants are - except for the time behaviour - equivalent. In the first case, two, in the second case four security objects are involved in controlling access to class B objects.