我们看到的问题是,如果您取消文档签出并且您更改了部门(具有不同的安全性),则文档权限不会更新/更改回之前发布的版本权限。发生的情况是,如果您取消签出,则事件处理程序不会触发,并且我们认为在您执行此操作时无法触发它(还)。事件处理程序正在更改已发布的版本,即文档 v1.0 安全性,只要我们更改部门,它应该只更改文档 v1.1(现在处于草稿模式)的安全性,然后当我们取消签出时安全性是正确的,但 EH2 正在改变两个版本的安全性
编辑
我们使用的是 2010。我意识到安全性和签入/签出是两个独立的功能,但是我们遇到的问题是当我们编辑文档时它会强制签出(版本控制已打开)。当编辑发生时,我们有一个事件处理程序,它根据文档的元数据列触发和更改文档权限。
这是整个过程: 上传新文档 分配元数据(一列表示分配文档的权限) 现在以编程方式将文档权限设置为唯一 - 现在文档具有基于上述列选择的唯一权限 然后是用户可以通过更改元数据列来更改文档权限。如果没有版本控制/签入/签出,这可以正常工作 签入/签出和版本控制;所有版本的文档权限都会更改,包括已发布版本和草稿版本。然后,如果他们取消签出,则文档元数据会返回到正确的版本,但权限不会变回,因为没有任何东西可以触发用于更改权限的 itemupdate 事件。
我们正在寻找一种方法,让它在发生这种情况时根据当前发布的版本重新应用权限,或者保持每个版本的权限唯一,因为 SharePoint 将它们视为单独的文档。
因此,例如,在草稿获得批准之前,文档可能具有具有一组权限的草稿版本和具有另一组权限的已发布版本。