Безопасность сайта SharePoint: как программно отслеживать изменения? - PullRequest
2 голосов
/ 06 декабря 2008

У меня есть случай, когда владелец сайта SharePoint решает нарушить наследование разрешений и напрямую управлять членством в сайте, я также хотел бы соответствующим образом изменить разрешения на просмотр для элементов в определенном списке на сайте верхнего уровня.

Как лучше всего отловить эти изменения, чтобы я знал, когда применять соответствующие изменения к элементам списка?

Мне бы хотелось, чтобы какой-нибудь код C # был уведомлен об изменении разрешений сайта, чтобы я мог программно изменить соответствующие разрешения элемента списка.

Ответы [ 3 ]

1 голос
/ 08 декабря 2008

Лучший способ сделать это (к сожалению) - периодически запрашивать все сайты и проверять, не отключено ли наследование. У меня была похожая проблема, и я использовал сценарии powershell для создания отчета о безопасности сайта . Если вы раньше не использовали Powershell, не пугайтесь. Синтаксис ОЧЕНЬ похож на C #.

0 голосов
/ 05 августа 2009

Другим подходом, который, я думаю, мог бы сделать очень хорошо, является использование SharePoint ChangeLog. По сути, это используется SharePoint во время индексации, при этом журнал сообщает сборщику, что именно изменилось, и что следует индексировать во время добавочного сканирования.

Если у вас есть изменение разрешения, это должно быть обнаружено во время добавочного сканирования. ChangeLog имеет определенные параметры, которые можно передавать для определения изменений в разрешениях. Посмотрите здесь на класс SPChangeQuery:

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spchangequery.aspx

В частности, вы можете искать ChangeTypes: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spchangetype.aspx

В том числе: AssignmentAdd AssignmentDelete MemberAdd MemberDelete ... и многое другое

0 голосов
/ 08 декабря 2008

Вы можете использовать аудит SharePoint для мониторинга изменений разрешений. Он будет отслеживать изменения до уровня элемента. Недостатком является то, что вы должны включить эту функцию, и это несколько ухудшит производительность.

Что касается уведомлений, я не думаю, что аудит говорит вам об изменениях. Я почти уверен, что вам нужно будет опросить журнал аудита.

В этой статье на MSDN .

есть куча информации об аудите.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...