我已经建立了一个自定义的SharePoint列表,通过编程调整每个列表项的权限。这部分应用程序的工作原理是清除列表项中的所有权限,并将权限添加到我要授予读取或贡献权限的人员。我相信应用程序的这一部分是正确的:在列表项上选择managepermissions我可以在Permissions列表中看到相关列表项的相应用户和角色。
但是,我惊讶地发现,只有提交了列表项的用户才能成功地编辑该项。我将描述以下两个用户的情况:UserA和UserB。UserA提交了列表项。UserB正在尝试在分配权限(手动或编程)后编辑同一列表项。
-
UserB可以在项目工具栏上看到编辑项目链接。
-
用户B可以单击链接并看到EditForm.aspx。
-
当UserB进行更改并按submit时,UserB会遇到现成的SharePoint“拒绝访问”错误页。
-
列表项更新的事件处理程序未启动。
-
手动提升UserB的权限以包含完全控制不会影响上述行为。
相比之下,UserA遇到的行为更容易预测:
-
-
UserA可以单击链接并看到EditForm.aspx。
-
当UserA提交时,更改被持久化,用户被重定向回项目列表。
-
事件处理程序在UserA提交后触发。
-
这是你的预期行为吗
-
如何允许UserB修改列表项?