|
|||||||
Simple SecurityAt the Advanced Indexing Training Session, one of the topics discussed was that of how dictionary structure relates to indexing. The following fields were documented < 6 > BTREE flag. 1 if the item has a btree index, otherwise false. < 21 > Used when indexing on symbolics to tell the indexing system what additional items are involved in the construction of this symbolic. Used when indexing XLATES (see Vol 2 Issue 4) < 22 > XREF information. Contains name of symbolic used to cross reference index this field. This field may be multi-valued allowing multiple XREFs per item if required. < 23 > RELATIONAL INDEX. Contains the pointer to the target file / field in format FILE*FIELD*SORT_ORDER. < 24 > RELATIONAL INDEX. This records where this field is maintained from in the format FILE*FIELD. < 25 > RELATIONAL INDEX. Allow amendment flag. If this field is set to 1, the only process allowed to update the field will be the relational index logic. All other attempts to update the field will be rejected. If it is set to 0 the user will be allowed to update the field. The same functionality may be obtained by using System Labelled Common. (See Vol 2 Issue 1) < 26 > Case Conversion Flag. If set to 1, index values will not be converted to uppercase, if 0 all values indexed will be upper case. During the discussion a delegate asked if field 25 (allow amendment) could be used anywhere other than in a related index - ie could ANY field be protected from amendment simply by setting this flag to 1. Investigation revealed that it could. Regardless of whether indexes are installed on a file or not, setting field 25 of a dictionary item to 1 prevents that field from being amended without either unsetting the flag or manipulating labelled common as documented above.To accomplish this the system attaches SI.MFS to the file. This could therefore be used to provide a very simple security feature, preventing unauthorised users from modifying individual fields. (Volume 2, Issue 7, Page 7) |
|||||||
| |||||||