Sharepoint 2007 SharePoint权限:具有“贡献更改”的用户无法更改其未创建的列表项?

Sharepoint 2007 SharePoint权限:具有“贡献更改”的用户无法更改其未创建的列表项?,sharepoint-2007,permissions,Sharepoint 2007,Permissions,我已经构建了一个自定义SharePoint列表,可以通过编程方式调整每个列表项的权限。这部分应用程序的工作原理是清除列表项中的所有权限,并将权限添加到我想授予阅读或贡献权限的人。我相信应用程序的这一部分是正确的:选择管理列表项的权限我可以在权限列表中看到相关列表项的相应用户和角色 然而,我惊讶地发现,只有提交列表项的用户才能成功编辑该项。我将描述我在以下两个用户身上看到的情况:UserA和UserB。UserA提交了列表项。UserB正在尝试在分配权限(手动或编程)后编辑同一列表项 UserB无

我已经构建了一个自定义SharePoint列表,可以通过编程方式调整每个列表项的权限。这部分应用程序的工作原理是清除列表项中的所有权限,并将权限添加到我想授予阅读或贡献权限的人。我相信应用程序的这一部分是正确的:选择管理列表项的权限我可以在权限列表中看到相关列表项的相应用户和角色

然而,我惊讶地发现,只有提交列表项的用户才能成功编辑该项。我将描述我在以下两个用户身上看到的情况:UserA和UserB。UserA提交了列表项。UserB正在尝试在分配权限(手动或编程)后编辑同一列表项

UserB无法编辑列表项:

  • UserB可以在项目工具栏上看到编辑项目链接
  • UserB可以单击该链接,并将看到EditForm.aspx
  • 当UserB进行更改并按submit时,UserB会遇到开箱即用的SharePoint“拒绝访问”错误页面
  • 列表项更新的事件处理程序未启动
  • 手动提升UserB的权限以包含完全控制不会影响上述行为
相比之下,UserA遇到的行为更加可预测:

  • UserA可以在项目工具栏上看到“编辑项目”链接
  • UserA可以单击该链接,并将看到EditForm.aspx
  • 当UserA提交时,更改被持久化,用户被重定向回项目列表
  • 事件处理程序在UserA提交后激发
这给我留下了几个问题:

  • 这是我们的预期行为吗 我设法找到的SharePoint 忽略
  • 如何允许UserB修改列表项

  • 你能检查一下你的列表设置>广告设置>项目级权限,看看那里有哪些编辑访问设置吗?
    当您在活动中处理这些内容时,应将其设置为所有项目?

    太棒了!我忘了那个场景了。有没有办法在与功能绑定的事件处理程序或自定义列表定义中设置此设置?很好!在自定义列表定义中,这是由SecurityBits控制的。有关更多信息,请参见此处。要以编程方式执行此操作,您需要设置ReadSecurity属性和WriteSecurity(请参见此项以进行读取,此项以进行写入),希望这有所帮助!