有没有办法限制 WSS 3.0 中的“编辑项目”权限,只允许用户编辑他自己的文档或列表项目?我们需要用户能够仅编辑他创建的文档/列表项 - 而不是其他人创建的项。所以,本质上我们需要 EDIT 权限和 ADD 的一个子集。
这在 Windows Sharepoint Services 3.0 中是否可行?有没有办法在代码或功能中创建自定义权限?
最佳答案
WSS 有一个基本的 UI,用于在列表项上设置项级权限,但它们在文档库的 UI 中隐藏了该权限。如果你进入 Settings->List Settings->Avanced settings
对于列表,您将看到几乎可以满足您的要求的选项。但是,在文档库上,该 UI 不可用。它驱动的设置虽然可以通过对象模型获得。
您可以为文档库设置这些相同的属性,如下所示:
SPDocumentLibrary onlyOwnLib = theWeb.Lists["DocLibName"]
onlyOwnLib.WriteSecurity = 2;
onlyOwnLib.Update();
那应该差不多了。但是,显然这并没有真正设置权限;它只是控制用户可以通过 UI 执行的操作。如果他们有另一个到图书馆的界面(比如通过 WebDAV)或列表(比如通过网络服务),它不会阻止他们编辑不是他们创建的项目。如果您想要真正的项目级权限,我认为您需要走事件处理程序路线。
此 post来自 Matt Morse 更详细地解释了它,他甚至编写了一个命令行工具来设置列表和库的属性(加上
.ReadSecurity
属性)。
关于sharepoint - 在 Windows Sharepoint Services 3.0 中仅编辑拥有的列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/735015/