Holder(Index: Integer): ISecuritySubject;
Index. Индекс субъекта безопасности.
Свойство Holder возвращает параметры субъекта безопасности (пользователь или группа пользователей), обладающего данной привилегией.
Если субъектом безопасности является пользователь с отложенной загрузкой описания, то свойств вернет только его базовое описание (Наименование, тип субъекта безопасности и дескриптор безопасности). Для получения всех параметров пользователя используйте методы IMetabaseSecurity.ResolveName, IMetabaseSecurity.ResolveSid либо поиск через IMetabaseSecurity.NewSubjectsSearch.
Для выполнения примера добавьте ссылку на системную сборку Metabase.
Sub UserProc;
Var
MB: IMetabase;
MS: IMetabaseSecurity;
MP: IMetabasePolicy;
Priv: IPrivilege;
Subject: ISecuritySubject;
i: Integer;
Begin
MB := MetabaseClass.Active;
MS := MB.Security;
MP := MS.Policy;
Priv := MP.Privilege("ВХОД");
Debug.WriteLine("Привилегией на вход в платформу обладают следующие субъекты безопасности:");
For i := 0 To Priv.HolderCount - 1 Do
Subject := Priv.Holder(i);
If Subject.Type = SecuritySubjectType.Group Then
Debug.WriteLine("Группа: " + Subject.Name);
Else
Debug.WriteLine("Пользователь: " + Subject.Name);
End If;
End For;
End Sub UserProc;
После выполнения примера в консоль среды разработки будет выведен список субъектов безопасности, обладающих привилегией на вход в платформу.
См. также: