IPrivilege.Revoke

Синтаксис

Revoke(Subject: ISecuritySubject);

Revoke(Prognoz.Platform.Interop.Metabase.ISecuritySubject);

Параметры

Subject. Субъект безопасности.

Описание

Метод Revoke изымает привилегию у субъекта безопасности, передаваемого посредством параметра Subject.

Пример

Для выполнения примера убедитесь, что в менеджере безопасности содержится пользователь USER.

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

Sub UserProc;
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    MP: IMetabasePolicy;
    Priv: IPrivilege;
    Subject: ISecuritySubject;
    Lic: Object;
Begin
    MB := MetabaseClass.Active;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
    MS := MB.Security;
    MP := MS.Policy;
    
// Удалим обладателя привилегии
    Priv := MP.Privilege("ЧТЕНИЕ");
    Subject := MS.ResolveName(
"USER");
    Priv.Revoke(Subject);
    
// Сохраним изменения
    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;
    MP: IMetabasePolicy;
    Priv: IPrivilege;
    Subject: ISecuritySubject;
    Lic: Object;
Begin
    MB := Params.Metabase;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
    MS := MB.Security;
    MP := MS.Policy;
    
// Удалим обладателя привилегии
    Priv := MP.Privilege["ЧТЕНИЕ"];
    Subject := MS.ResolveName(
"USER");
    Priv.Revoke(Subject);
    
// Сохраним изменения
    MS.Apply();
    
// Освободим лицензию
    Lic := Null;
End Sub;

После выполнения примера пользователь USER не будет обладать привилегией на чтение и открытие объектов репозитория.

См. также:

IPrivilege