【问题标题】:Specifying Item Level Permissions using Sharepoint List Event Handler but to a list on which user has Contribute rights使用 Sharepoint 列表事件处理程序指定项目级别权限,但指定用户具有贡献权限的列表
【发布时间】:2010-06-24 15:48:35
【问题描述】:
- 我有一个用户拥有贡献权限的列表
- 我有一个事件处理程序,它通过
2.a CurrentlistItem.BreakRoleInheritance(true);
2.b 并将用户添加到该列表中
现在上面不起作用如果正在添加的用户有贡献的权利
但如果用户拥有完全控制权,则有效。
我认为解决方案可能是由系统管理员用户运行这些特权调用。
如何解决这个问题,请指导,谢谢。
//阿米特
【问题讨论】:
标签:
sharepoint
sharepoint-2007
sharepoint-api
【解决方案2】:
仅使用 RunWithElevatedPrivileges 运行代码是不够的。凭据信息保存在 SPSite 对象中,大多数 SPxxxx 对象直接或间接使用该对象,包括 SPWeb、SPListItem 等。为了修改项目权限,您必须重新创建您在 RunWithElevatedPrivileges 中使用的任何 SPSite、SPListItem、SPWeb,仅使用事件处理程序提供的 ID。