ResolveSid(Sid: ISid): ISecuritySubject;
Sid - идентификатор субъекта безопасности.
Метод ResolveSid возвращает параметры субъекта безопасности, идентификатор которого передается в качестве параметра Sid.
Если субъект безопасности не существует, то метод возвращает значение Null.
Для выполнения примера предполагается наличие в репозитории объекта с идентификатором "Obj_1".
Sub Main;
Var
MB: IMetabase;
Sec: IMetabaseSecurity;
SecDesc: ISecurityDescriptor;
Acl: IAccessControlList;
Ace: IAccessControlEntry;
Subject: ISecuritySubject;
Begin
MB := MetabaseClass.Active;
Sec := MB.Security;
SecDesc := MB.ItemById("Obj_1").SecurityDescriptor;
Acl := SecDesc.Acl;
For Each Ace In Acl Do
Subject := Sec.ResolveSid(Ace.Sid);
If Ace.Type = AceType.AccessAllowed Then
Debug.Write("Разрешающий параметр. Маска доступа: " + Ace.AccessMask.ToString);
Debug.WriteLine("; Субъект безопасности:" + Subject.Name);
Else
Debug.Write("Запрещающий параметр. Маска доступа: " + Ace.AccessMask.ToString);
Debug.WriteLine("; Субъект безопасности: " + Subject.Name);
End If;
End For;
End Sub Main;
После выполнения примера в консоль среды разработки будет выведена информация о дополнительных параметрах безопасности объекта "Obj_1". Информация о субъекте безопасности, для которого добавлен конкретный параметр, будет получена по идентификатору субъекта безопасности.
См. также: