Указание разрешений уровня элемента с помощью обработчика событий списка Sharepoint, но для списка, в котором пользователь имеет права Contribute - PullRequest
1 голос
/ 24 июня 2010
  1. У меня есть список, в который пользователи имеют права на добавление
  2. У меня есть обработчик событий, который изменяет разрешения уровня элемента при добавлении или обновлении событий в списке с помощью 2.a CurrentlistItem.BreakRoleInheritance (true); 2.b и добавив пользователей в этот список

Теперь выше не работает , если пользователь, который добавляет, имеет права на добавление но работает , если пользователи имеют полный контроль.

Я думаю, что решением может быть выполнение этих привилегированных вызовов пользователем системного администратора.

Как я могу решить эту проблему, пожалуйста, руководство, спасибо.

// Amit

Ответы [ 2 ]

2 голосов
/ 24 июня 2010

Вы пробовали RunWithElevatedPrivileges ?Просто не забудьте запустить как можно меньше кода внутри него.

1 голос
/ 24 июня 2010

Недостаточно просто запустить код с помощью RunWithElevatedPrivileges.Информация об учетных данных хранится в объекте SPSite, который прямо или косвенно используется большинством объектов SPxxxx, включая SPWeb, SPListItem и т. Д. Чтобы изменить права доступа к элементам, вам потребуется заново создать любой SPSite, SPListItem, SPWeb, который вы используете внутри RunWithElevatedPrivileges, используя толькоИдентификаторы, предоставляемые обработчиком события.

...