HasAccessToRepository: Boolean;
HasAccessToRepository: System.Boolean;
Метод HasAccessToRepository проверяет наличие у субъекта безопасности эффективных прав на объекты репозитория.
Метод возвращает True, если у субъекта есть какие-либо права доступа на любой из объектов репозитория, в противном случае – False. Метод проверяет только разрешения, запреты игнорирует, то есть для субъекта, у которого есть только запреты, метод вернет False.
Выполнение проверки наличия у субъекта эффективных прав на объекты репозитория может занять значительное время.
Для выполнения примера добавьте ссылку на системную сборку 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;
После выполнения примера в окно консоли будет выведено сообщение о наличии прав у субъекта.
В менеджере безопасности в списке пользователей должен быть пользователь «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;
После выполнения примера в окно консоли будет выведено сообщение о наличии прав у субъекта.
См. также: