Holder(Index: Integer): ISecuritySubject;
Holder[System.Int32]: Prognoz.Platform.Interop.Metabase.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;
Imports Prognoz.Platform.Interop.Metabase;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MS: IMetabaseSecurity;
MP: IMetabasePolicy;
Priv: IPrivilege;
Subject: ISecuritySubject;
i: Integer;
Begin
MB := Params.Metabase;
MS := MB.Security;
MP := MS.Policy;
Priv := MP.Privilege["ВХОД"];
System.Diagnostics.Debug.WriteLine("Привилегией на вход в платформу обладают следующие субъекты безопасности:");
For i := 0 To Priv.HolderCount - 1 Do
Subject := Priv.Holder[i];
If Subject.Type = SecuritySubjectType.sstGroup Then
System.Diagnostics.Debug.WriteLine("Группа: " + Subject.Name);
Else
System.Diagnostics.Debug.WriteLine("Пользователь: " + Subject.Name);
End If;
End For;
End Sub;
После выполнения примера в консоль среды разработки будет выведен список субъектов безопасности, обладающих привилегией на вход в платформу.
См. также: