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 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: