在 Windows Sharepoint Services 3.0 中仅编辑拥有的列表项
有没有办法限制 WSS 3.0 中的“编辑项目”权限,仅允许用户编辑自己的文档或列表项目? 我们需要用户能够仅编辑他创建的文档/列表项目,而不是其他人创建的项目。 因此,本质上我们需要 EDIT 权限和 ADD 权限的子集。
这在 Windows Sharepoint Services 3.0 中可能吗? 有没有办法在代码或功能中创建自定义权限?
Is there a way to limit the "edit item" permission in WSS 3.0 to only allow a user to edit his own documents or list items? We need the ability for a user to edit only documents/list items he creates - NOT items that someone else created. So, essentially we need a sub-set of the EDIT permission as well as ADD.
Is this possible in Windows Sharepoint Services 3.0? Is there a way to create custom permissions in code or a feature?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
WSS 有一个基本的 UI,用于设置列表项的项目级权限,但它们在文档库的 UI 中隐藏了该权限。 如果您进入列表的
设置->列表设置->高级设置
,您将看到几乎可以完成您所要求的操作的选项。 但是,在文档库上,该 UI 不可用。 不过,它驱动的设置可以通过对象模型获得。您可以为文档库设置相同的属性,如下所示:
这样就可以了。 然而,显然这并没有真正设置权限; 它只是控制用户可以通过 UI 执行的操作。 如果他们有另一个库接口(例如通过 WebDAV)或列表(例如通过 Web 服务),则不会阻止他们编辑不是他们创建的项目。 如果您想要真正的项目级权限,我认为您需要走事件处理程序路线。
这个 post 对此进行了更详细的解释,他甚至编写了一个命令行工具来设置列表和库的属性(加上
.ReadSecurity
属性)。WSS has a basic UI for setting item-level permission on list items, but they hide that from the UI for document libraries. If you go into
Settings->List Settings->Avanced settings
for a list, you'll see the options to do pretty much what you're asking for. However, on document libraries, that UI is not available. The settings it drives, though are avaiable via the object model.You could set those same properties for a document library like this:
And that should about do it. However, apparently that doesn't really set permissions; it just controls what the user can do via the UI. If they had another interface to the library (like via WebDAV) or list (like via the web services), it wouldn't prevent them from editing items they didn't create. If you want true item-level permissions, I think you need to go the event handler route.
This post from Matt Morse explains it in more detail, and he even wrote a command line tool to set the property (plus the
.ReadSecurity
property) for lists and libraries.如果您将事件处理程序添加到文档列表中,您应该能够将该项目的编辑权限限制为创建该项目的用户。
我经常需要将文档从另一个系统复制到 SharePoint 中的列表中,在这种情况下,编辑权限将分配给传输文档的系统用户,除非您使用 Kirk Liemohn 此处
If you added an event handler to the document list you should be able to limit edit rights on that item to the user that created the item.
I often have to copy documents from another system into a list in SharePoint, and in that case the edit rights will be assigned to the system user that transfered the document, unless you use the approach suggested by Kirk Liemohn here
请注意,大量文档的项目级权限会大大增加 SQL 服务器上的负载。
Note that item level permissions on large numbers of documents increase the load on your SQL server quite a lot.
这是满足您请求的解决方案。
转到列表 -> 列表设置-> 高级设置
您将看到读取访问权限部分
:指定用户可以读取哪些项目
所有项目
只有他们自己的
编辑权限:指定用户可以编辑哪些项目
所有项目
只有他们自己的
没有人
根据要求选择选项。 就这样完成了..
想要更多请点击 http://mastermoss.wordpress.com
here is the solution for your request.
go to the list -> list settings -> Advanced Settings
you will see the section of
Read access: Specify which items users can read
All items
Only their own
Edit access: Specify which items users can edit
All items
Only their own
None
select the options based on requirement. that's it done..
wanna more click on http:// mastermoss.wordpress.com
这是一个老问题,但问题仍然存在。
过去对我来说效果很好的一种方法是在添加库项目时使用工作流程来配置权限。
请参阅 http ://www.sharepointusecases.com/index.php/2010/03/configure-item-level-permissions-for-document-libraries-part-2/ 了解详细信息。
This is an old question, however the problem still exists.
A way that has worked well for me in the past is to use a workflow to configure the permissions when the library item is added.
See http://www.sharepointusecases.com/index.php/2010/03/configure-item-level-permissions-for-document-libraries-part-2/ for details.
我相信这样的权限可以通过用户界面创建。 这取决于您拥有的列表项的规模和数量,但您可以执行以下两件事之一。 首先(无需创建脚本)您可以为每个人提供自定义的“读取”权限访问权限,这将不允许他们执行您在读取权限中可以执行的所有操作,但允许他们添加项目。 然后逐项单击该项目 -> 管理权限-> (授予特定用户对其文档的贡献权限)。
如果您要创建一个不切实际的 SharePoint 列表,您可以创建一个脚本来遍历所有项目,并验证用户是否具有贡献权限(否则它将为该用户设置贡献权限)。
I believe that permissions like that can be created through the user interface. It depends on the scale and number of list items you have, but you could do one of two things. First (without having to create scripts) you could give everyone a custom "Read" permission access which would not allow them to do everything you can in in the Read permission but allow them to Add Items. Then on an item-by-item basis, click the item -> manage permissions -> (Give the specific user Contribute permissions on their document).
If you're creating a SharePoint list that this will not be practical, you can create a script to traverse through all items, and will verify the user has contribute permissions (otherwise it will set the contribute permission to that user).
此外,您可以为每个人提供自己的文件夹。
授予每个人对 SharePoint 列表/文档库的读取权限,但授予每个人对其自己的文件夹的完全控制权限。 这将允许每个人阅读列表中的所有内容,但创建/编辑自己的文档。
Additionally, you could just give each person their own folder.
Give everyone read permissions on the SharePoint list/document library, but give each person full control privileges over their own folder. This will allow everyone to read everything in a list, but create/edit their own documents.
如果您想要文档库的“仅限他们自己”的权限,则它不是现成的。 但我在 CodePlex 创建了一个解决方案,为文档库添加了此功能 - 请在 http://moresharepoint.codeplex 上查看。 com。
If you want the 'Only their own' permission on a document library, it isn't there out of the box. But I've created a solution at CodePlex that adds this for Document Libraries - check it out at http://moresharepoint.codeplex.com.