AccessSecured: Boolean;
The AccessSecured property returns whether discretionary access permissions are used for MDM dictionary elements.
Available values:
True. The discretionary access control is applied for MDM dictionary elements.
False. The discretionary access control is not applied for MDM dictionary elements.
The value of this property corresponds to the value of IRdsDictionary.Secured.
The ISecurityDescriptor.HasAccessMandatory property determines whether mandatory access control is applied to MDM dictionary elements.
Executing the example requires that the repository contains an MDM dictionary with RDS_DICT identifier. The user executing the example should have the privilege Changing Security Label and Access Control List of Any Object.
Add links to the Metabase, Rds system assemblies.
Sub UserProc;
Var
MB: IMetabase;
Object: IMetabaseObject;
SD: ISecurityDescriptor;
Dict: IRdsDictionary;
MObj: IMetabaseObjectDescriptor;
Begin
// Get the current repository
MB := MetabaseClass.Active;
// Get MDM dictionary
MObj := MB.ItemById("RDS_DICT");
Object := MObj.Edit;
Dict := Object As IRdsDictionary;
// Get access control parameters
SD := Object.SecurityDescriptor;
// Check if discretionary access control is used for MDM dictionary elements
If SD.AccessSecured Then
// Disable application of discretionary access control if it is used
Dict.Secured := False;
// Save changes
Object.Save;
SD.Apply(True);
End If;
End Sub UserProc;
After executing the example, discretionary access control is disabled for MDM dictionary elements if it has been enabled before.
See also: