Specifying Item Level Permissions using Sharepoint

2019-08-09 23:29发布

  1. I have a List to which users have contribute rights
  2. I have a Event Handler which changes the Item Level Permissions on adding or Updating events on list by 2.a CurrentlistItem.BreakRoleInheritance(true); 2.b and by adding users to that list

Now above does not work if user who is adding has rights of contribute but works if users has full control.

I think a solution could be to run these privileged calls by system admin user.

How can i solve this problem , Please guide, Thanks.

//Amit

2条回答
Evening l夕情丶
2楼-- · 2019-08-09 23:56

Just running your code using RunWithElevatedPrivileges is not enough. Credential info is kept inside the SPSite object that is used directly or indirectly by most SPxxxx objects, including SPWeb, SPListItem etc. In order to modify item permissions you will have to recreate any SPSite, SPListItem, SPWeb you use inside RunWithElevatedPrivileges, using only the IDs provided by the event handler.

查看更多
霸刀☆藐视天下
3楼-- · 2019-08-10 00:01

Have you tried RunWithElevatedPrivileges? Just remember to run as little code as possible within it.

查看更多
登录 后发表回答