IMetabaseUsersUpdate.AddSubject

Синтаксис

AddSubject(Value: ISecuritySubject; UpdateType: MetabaseSecuritySubjectUpdateType);

AddSubject(Value: Prognoz.Platform.Interop.Metabase.ISecuritySubject; UpdateType: Prognoz.Platform.Interop.Metabase.MetabaseSecuritySubjectUpdateType);

Параметры

Value. Субъект безопасности «Форсайт. Аналитическая платформа»: пользователь или доменная группа пользователей;

UpdateType. Способ обновления.

Описание

Метод AddSubject добавляет субъект (пользователя или доменную группу пользователей) в список для обновления.

Пример

Для выполнения примера убедитесь, что в менеджере безопасности содержится доменная группа пользователей с наименованием «GROUP\TESTGROUP».

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

Sub UserProc;
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    Lic: Object;
    UsUp: IMetabaseUsersUpdate;
    Subj: ISecuritySubject;
Begin
    MB := MetabaseClass.Active;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
    MS := MB.Security;
    
// Создадим обновление
    UsUp := MS.CreateUsersUpdate;
    Subj := MS.ResolveName(
"GROUP\TESTGROUP"As ISecuritySubject;
    UsUp.AddSubject(Subj, MetabaseSecuritySubjectUpdateType.DBGrant);
    
// Обновим членов группы
    MS.UpdateUsers(UsUp);
    
// Сохраним изменения
    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;
    Lic: Object;
    UsUp: IMetabaseUsersUpdate;
    Subj: ISecuritySubject;
Begin
    MB := Params.Metabase;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
    MS := MB.Security;
    
// Создадим обновление
    UsUp := MS.CreateUsersUpdate();
    Subj := MS.ResolveName(
"GROUP\TESTGROUP"As ISecuritySubject;
    UsUp.AddSubject(Subj, MetabaseSecuritySubjectUpdateType.mesesuuptyDBGrant);
    
// Обновим членов группы
    MS.UpdateUsers(UsUp);
    
// Сохраним изменения
    MS.Apply();
    
// Освободим лицензию
    Lic := Null;
End Sub;

После выполнения примера будет обновлена доменная группа пользователей с наименованием «GROUP\TESTGROUP».

См. также:

IMetabaseUsersUpdate