ISecuritySubject.HasAccessToRepository

Синтаксис Fore

HasAccessToRepository: Boolean;

Синтаксис Fore.NET

HasAccessToRepository: System.Boolean;

Описание

Метод HasAccessToRepository проверяет наличие у субъекта безопасности эффективных прав на объекты репозитория.

Комментарии

Метод возвращает True, если у субъекта есть какие-либо права доступа на любой из объектов репозитория, в противном случае – False. Метод проверяет только разрешения, запреты игнорирует, то есть для субъекта, у которого есть только запреты, метод вернет False.

Выполнение проверки наличия у субъекта эффективных прав на объекты репозитория может занять значительное время.

Пример Fore

Для выполнения примера добавьте ссылку на системную сборку Metabase. В менеджере безопасности в списке субъектов должен быть пользователь или группа «subject».

Sub Main;
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    SecSub: ISecuritySubject;
Begin
    MB := MetabaseClass.Active;
    MS := MB.Security;
    SecSub:= MS.ResolveName("subject");
    If SecSub.HasAccessToRepository Then
        Debug.WriteLine("У субъекта есть права доступа");
    Else 
        Debug.WriteLine("У субъекта нет прав доступа"); 
    End If;
End Sub Main;

После выполнения примера в окно консоли будет выведено сообщение о наличии прав у субъекта.

Пример Fore.NET

В менеджере безопасности в списке пользователей должен быть пользователь «subject». Указанная процедура является точкой входа для .NET-сборки.

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    SecSub: ISecuritySubject;
Begin
    MB := Params.Metabase;
    MS := MB.Security;
    SecSub:= MS.ResolveName("subject");
    If SecSub.HasAccessToRepository() Then
        System.Diagnostics.Debug.WriteLine("У пользователя есть права доступа");
    Else 
        System.Diagnostics.Debug.WriteLine("У пользователя нет прав доступа");  
    End If;
End Sub;

После выполнения примера в окно консоли будет выведено сообщение о наличии прав у субъекта.

См. также:

ISecuritySubject