ISecurityCategory.AddLevel

Синтаксис

AddLevel(CriticalityLabel: Integer; Name: String): ISecurityLevel;

AddLevel(System.UInt32, System.String): Prognoz.Platform.Interop.Metabase.ISecurityLevel;

Параметры

CriticalityLabel. Метка критичности для уровня.

Name. Наименование уровня.

Описание

Метода AddLevel создает уровень в категории безопасности.

Пример

Для выполнения примера добавьте ссылки на системные сборки: Metabase, ForeSystem (для примера на Fore.NET).

Sub UserProc;
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    MU: IMetabasePolicy;
    MAccess: IMetabaseMandatoryAccess;
    Cat: ISecurityCategory;
    Lvl: ISecurityLevel;
    Lic: Object;
Begin
    MB := MetabaseClass.Active;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
    MS := MB.Security;
    MU := MS.Policy;
    MAccess := MU.MandatoryAccess;
    
// Добавим категорию с уровнями
    Cat := MAccess.AddCategory("Категория 1");
    Cat.Hierarchical := 
False;
    Lvl := Cat.AddLevel(
0"Уровень 0");
    Lvl.Marking := 
True;
    Lvl := Cat.AddLevel(
1"Уровень 1");
    Lvl.ExportAllowed := 
False;
    Lvl := Cat.AddLevel(
2"Уровень 2");
    Lvl.ExportAllowed := 
False;
    Lvl.PrintAllowed := 
False;
    
// Сохраним изменения
    MS.Apply;
    
// Освободим лицензию
    Lic := Null;
End Sub UserProc;

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.ForeSystem;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    MU: IMetabasePolicy;
    MAccess: IMetabaseMandatoryAccess;
    Cat: ISecurityCategory;
    Lvl: ISecurityLevel;
    Lic: Object;
Begin
    MB := Params.Metabase;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
    MS := MB.Security;
    MU := MS.Policy;
    MAccess := MU.MandatoryAccess;
    
// Добавим категорию с уровнями
    Cat := MAccess.AddCategory("Категория 1");
    Cat.Hierarchical := 
False;
    Lvl := Cat.AddLevel(
0"Уровень 0");
    Lvl.Marking := 
True;
    Lvl := Cat.AddLevel(
1"Уровень 1");
    Lvl.ExportAllowed := 
False;
    Lvl := Cat.AddLevel(
2"Уровень 2");
    Lvl.ExportAllowed := 
False;
    Lvl.PrintAllowed := 
False;
    
// Сохраним изменения
    MS.Apply();
    
// Освободим лицензию
    Lic := Null;
End Sub;

После выполнения примера в настройках мандатного доступа менеджера безопасности будет создана новая неирархическая категория. В данной категории будут созданы три уровня критичности. Для каждого уровня будут выставлены различные параметры разрешений экспорта и печати, а также маркировки при экспорте и печати.

См. также:

ISecurityCategory