Речь идет о разрешениях на уровне папок. У нас есть библиотека документов с наложением на разрыв. Добавляя папки, подпапки через код, мы снова закодировали для наследования прерываний. Теперь требование: когда пользователь/группа добавляется в список разрешений подпапки, нам необходимо отслеживать это событие. Какое событие sharepoint мы используем и на каком уровне. Пожалуйста помоги.Как отслеживать событие разрешения папки?
ответ
Я достиг решения для своей проблемы (хотя это и компрометирует). Я хотел достичь этого только в одной библиотеке документов. Я объясню этот процесс здесь.
Страница разрешений всегда «user.aspx», а новая страница разрешений - «aclinv.aspx».
Я внедрил httpmodule url прослушиватель для "aclinv.aspx". Поэтому, когда эта страница запрашивается, я переношу ее на страницу пользовательских разрешений. Интересно, что URL-адрес в sharepoint является ключом к каждой операции. У него было имя моей папки в URL-адресе как id, имя библиотеки документов - тоже идентификатор.
Страница пользовательских разрешений в точности похожа на «aclinv.aspx», за исключением того факта, что приложение прослушивает эту страницу. Когда пользователь выбирается с соответствующими разрешениями на этой странице, приложение отслеживает идентификатор пользователя, выбранное разрешение, идентификатор папки, идентификатор библиотеки документов, все через URL-адрес, и поток остается неизменным.
Thats it, job done. Со всеми этими значениями приложение может делать все, что угодно, с новым запросом.
Большое спасибо всем за руководство. Это очень помогло.
PS. Если есть лучший способ сделать это, я был бы рад узнать.
Sushant
Вы можете получить эту информацию из журнала аудита, при условии, что аудит включен в списке/сайте.
MOSS поставляется с некоторыми основными отчетами по аудиту. Посмотрите на this resource on Office Online для более подробной информации.
Кроме того, ознакомьтесь с нашими SharePoint Audit Suite. Это дешево и делает то, что вам нужно.
Я работал над продуктом, поэтому я явно предвзятым :-)
В принципе, это не может быть сделано. Вам нужно убедиться, что любой пользователь/процесс устанавливает эти разрешения, делает это с помощью написанного вами кода, поэтому вы можете позвонить своему пользовательскому коду.
См. SharePoint Event when Permissions of ListItems have been changed?.
Эй, спасибо за ответ, но у меня есть конкретное требование, чтобы позвонить пользовательский код, когда пользователь добавляется в папку разрешений. Поэтому мне нужно поймать это событие и вызвать мой код. Ответьте, пожалуйста. – Sushant