Как отследить событие разрешения папки?

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


person Sushant    schedule 27.04.2010    source источник


Ответы (3)


Вы можете получить эту информацию из журнала аудита, если аудит включен в списке / сайте.

MOSS поставляется с некоторыми основными аудиторскими отчетами. Дополнительные сведения см. На этом ресурсе в Office Online.

Вы также можете воспользоваться нашим пакетом аудита SharePoint. Это дешево и делает именно то, что вам нужно.

Я работал над продуктом, поэтому явно предвзято :-)

person Jeroen Ritmeijer    schedule 27.04.2010
comment
Привет, спасибо за ответ, но у меня есть особое требование вызывать пользовательский код, когда пользователь добавляется в разрешения для папки. Поэтому мне нужно поймать это событие и вызвать свой код. Ответьте, пожалуйста. - person Sushant; 27.04.2010

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

См. Событие SharePoint при изменении разрешений ListItems?.

person Paul-Jan    schedule 27.04.2010

Я нашел решение своей проблемы (хотя и немного компрометирующее). Я хотел добиться этого только в одной библиотеке документов. Я объясню процесс здесь.

Страница разрешений всегда называется user.aspx, а страница добавления новых разрешений - aclinv.aspx.

Я реализовал прослушиватель URL httpmodule для aclinv.aspx. Поэтому, когда эта страница запрашивается, я передаю ей свою страницу с настраиваемыми разрешениями. Интересно, что URL-адреса в sharepoint являются ключом к каждой операции. У него было имя моей папки в URL-адресе в качестве идентификатора, имя библиотеки документов также было идентификатором.

Страница настраиваемых разрешений в точности похожа на aclinv.aspx, за исключением того факта, что приложение прослушивает эту страницу. Когда пользователь выбран с соответствующими разрешениями на этой странице, приложение отслеживает идентификатор пользователя, выбранное разрешение, идентификатор папки, идентификатор библиотеки документов по URL-адресу, и поток остается прежним.

Вот и все, работа сделана. Со всеми этими значениями приложение может делать все, что захочет, с новым запросом.

Большое спасибо всем за ваше руководство. Это действительно очень помогло.

PS. Если есть лучший способ сделать это, я был бы рад узнать.

Sushant

person Sushant    schedule 30.04.2010