Security Policy

To work with repository security policy, use the IMetabasePolicy interface. Access to security policy is given by the IMetabaseSecurity.Policy property.

Sub GeneralPolicy;
Var
    Mb: IMetabase;
    MbSec: IMetabaseSecurity;
    Policy: IMetabasePolicy;
    Str: String;
    Lic: Object;
Begin
    Mb := MetabaseClass.Active;
    // Get license to be able to work with the security manager
    Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
    // Security manager
    MbSec := Mb.Security;
    Policy := MbSec.Policy;
    // General security policy settings
    Policy.RootObject := Mb.ItemById("F_WORK_ROOT");
    Policy.AutoRun.Object := Mb.ItemById("REPORT");
    Policy.AuditPolicy.LogRecordCountThreshold(2) := 50000;
    Policy.AuditPolicy.LogRecordCountThreshold(1) := 30000;
    Str := "ID_*";
    If Policy.IsObjectsIdFormatValid(Str) Then
        Policy.ObjectsIdFormat := Str;
    End If;
    MbSec.Apply;
    // Check in license
    Lic := Null;
End Sub GeneralPolicy;

Password Security Policy

Password security policy determines user password creation and checking rules in the system. Some settings are in the IMetabasePolicy interface, particular settings are in the IMetabasePasswordPolicy interface. Access to the interface is given by the IMetabasePolicy.PasswordPolicy property.

Sub PasswordPolicy;
Var
    Mb: IMetabase;
    MbSec: IMetabaseSecurity;
    Policy: IMetabasePolicy;
    PasswordPolicy: IMetabasePasswordPolicy;
    Lic: Object;
Begin
    Mb := MetabaseClass.Active;
    // Get license to be able to work with the security manager
    Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
    // Security manager
    MbSec := Mb.Security;
    // Password policy
    Policy := MbSec.Policy;
    Policy.MaxFailedLogons := 5// 5 failed password enter attempts
    Policy.FailedLogonsCounter_ResetPeriod := 5// reset failed attempts counter in five minutes
    PasswordPolicy := MbSec.Policy.PasswordPolicy;
    PasswordPolicy.MinLength := 5// minimum password length
    PasswordPolicy.MaxAge := 90// maximum password age
    PasswordPolicy.MinAge := 7// minimum password age
    //...
    MbSec.Apply;
    // Check in license
    Lic := Null;
End Sub PasswordPolicy;

See also:

Working with Security Manager | Access Control Methods