Могу ли я использовать JWSCL, чтобы проверить, имеет ли текущий пользователь конкретное расширенное право на объект Active Directory? - PullRequest
1 голос
/ 15 декабря 2011

[Это немного более конкретная версия вопроса, который я уже задавал здесь: Как запросить эффективные разрешения для объекта Active Directory? - Надеюсь, ответы, которые я получу здесь, помогут мне лучше понять исудите ответ (ы), которые я получил там.]

В частности, в настоящее время я ищу способ проверить, есть ли у текущего пользователя разрешение Exchange «Отправить как» (это такназывается "расширенное право" ) для данного объекта Active Directory, такого как другой пользователь (т.е. почтовый ящик), общая папка с включенной поддержкой почты или список рассылки.Важно, чтобы разрешения, предоставляемые (или запрещенные) косвенно через членство в группе, также учитывались.В среднесрочной и долгосрочной перспективе я бы очень хотел узнать больше о модели безопасности Windows и ее API.Эта задача является моей отправной точкой.

Исследуя, как лучше всего реализовать некоторые из доступных примеров C ++ в Delphi, я наткнулся на JWSCL (библиотека кодов безопасности JEDI Windows).Но даже несмотря на то, что, похоже, в последнее время были внесены некоторые изменения в коде, связанном с AD, некоторые документы в блоге JWSCL и вики все еще отмечают, что «поддержка Active Directory» еще не добавлена.просто вопрос устаревшей документации?И даже если нет, действительно ли мне это нужно для этой конкретной задачи?Я уже могу получить атрибут SECURITY_DESCRIPTOR объектов, которые я хочу проверить, используя IDirectoryObject.GetAttributes.Как только я получу эту SD-карту, будет ли иметь значение, что я проверяю разрешения для объекта AD?Не могу ли я просто использовать это с кодом, который уже существует, несмотря на предположительно отсутствующую поддержку AD?
Если да, то как?

Я уже пытался изменить GetEffectiveRightsFromAclWithAuthZ пример , которыйпоставляется с JWSCL, но мне уже не удается создать объект TJwSecurityDescriptor из моего указателя PSECURITY_DESCRIPTOR.Просто передать его на TJwSecurityDescriptor.Create() не удастся с EJwsclInvalidSIDException.

Есть идеи?Я даже удаленно на правильном пути?

...