CX_SECURITY_SET
Class hierarchy
- CX_CLASS
- CX_SECURITY
- CX_SECURITY_SET
- CX_SECURITY
Description: (Business Pattern)
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 summary of security objects that combine access rights into a group of access rights. The CX_SECURITY_SETs can be nested within each other as desired.
If multiple security objects define access rights for an object/message/class/system function, the override semantics apply and the last object defines the access. The access rights are not additive!
Example:
There are classes A, A1, A2 and B. A1 and A2 are derived from A, while B is independent of A:
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:
- All security objects are directly assigned to the security set. The order of the security objects referring to A and A1 is essential.
Attention: This behaviour has changed as of Dll version 225901.
Both variants are semantically equivalent.
Code example:
[ "CX_SECURITY_SET::name" ] SetFormat Dup CX_SECURITY_SET Swap Inherited CreatePersObject(CX_SECURITY_SET) -> securityGroup String(CX_SECURITY_SET::name, 100, 3, 80)
Function | MA* | Parameters | Return | Brief description |
---|---|---|---|---|
Register | Registering a Security Object | |||
TestClass 225901 | INTEGER | CX_BIT_PATTERN | Returns the class access for a specific class. | |
TestMessage 225661 | INTEGER | TRUE/FALSE | Test whether message is allowed or blocked | |
TestObject 225901 | OBJECT, STRING | CX_BIT_PATTERN | Returns the object access for a specific object (+ path). | |
TestOption 225735 | INTEGER | TRUE/FALSE | Test whether option is allowed or blocked. |
* MA = Member Access Function
Data field | Type | Reference class | I* | Brief description |
---|---|---|---|---|
securityObjects | COLL | CX_SECURITY | subordinate security objects | |
name | STRING | Access printout |
* I = Indexable data field
Module | Brief description |
---|---|
secgroup.mod | Access groups Basic module |
secgredt.mod | Access groups Editing module |
secgrsel.mod | Access groups Selection module |