2009-02-09 55 views
12

我想允许某个用户组将项目添加到列表中,但无法查看所有项目。这样我就可以建立一个私人部分工作流程。我想那会可能通过定义一个新的权限级别:Sharepoint - 如何设置权限级别添加项目但不能查看?

http://servername/_layouts/addrole.aspx(“添加权限级别”页)

但是,当您选择“添加项目”列表中的权限,“查看项目”也会自动打勾。

任何人都知道这个解决方案吗?

+0

指定的SharePoint版本。 – leppie 2011-02-22 06:41:27

+0

想要做到这一点,请到这里:http://expectedexception.wordpress.com/2011/03/03/remove-view-items-permission-from-sharepoint-list-with-anonymous-access-enabled/ – 2012-06-19 12:31:04

+0

你可能想看看这里接受的答案:http://stackoverflow.com/questions/735015/edit-only-owned-list-items-in-windows-sharepoint-services-3-0因为它提供了一点解决方法类似于[Sam Yates建议](#530931) – jeffreypriebe 2010-05-20 19:58:27

回答

4

查看项目是一个依赖权限添加项目所以不知道,如果我们可以在SharePoint中添加此类权限OOB,看看这里: (http://office.microsoft.com/en-us/sharepointtechnology/HA101001491033.aspx

您可以创建2所列出的一个肮脏的解决方法而不是添加第一个列表的项目添加事件中的代码,将项目添加到另一个列表并将其从第一个列表中删除,不知道这是否是一个好的解决方案。 。 。

+0

您能解释一下“在第一个列表的项目添加事件中添加代码”是什么意思吗?只有通过Sharepoint Designer 2007才有可能? – Stuart 2009-02-09 15:40:27

0

开箱即用的SharePoint设计器我只能想到使用工作流将公共“dropbox”列表中的任何项目移动到安全列表。

用户可以查看并上传项目到公共保管箱,但立即启动一个工作流程,将内容移动到另一个相同的安全列表。您可以决定是否需要允许内容覆盖。

一个怪异的解决方法,但没有编程,所有的SharePoint都是。 (我的公司不会让我给它写代码)

0

你没有真正指定你正在使用哪一种列表,但是如果你看看“高级设置”下的列表设置,你可能会找到“物品等级权限”部分。这会让您选择限制用户只阅读(或编辑)他们提交的项目。这超出了列表上设置的任何其他ACL或其项目。

0

我觉得使用高级权限是不可访问的,因为它无法阻止提交者查看它,否则这是一个很好的解决方案! 我认为工作流可以完成这项工作。只需确保何时上载工作流的项目被触发。然后,如果您可以构建一个可以为该项目设置特定权限的工作流程,则应该完成所有事情。 如果您在构建工作流程时没有弄脏自己的手,那么在有一种称为列视图权限的即插即用解决方案时,请转到3w.sharepointboost.com。

0

我正在为此做一个快速解决方案,当我发现此消息时进行研究。 除了SPD工作流程,将不会与匿名用户一起工作,我正在考虑做一个infopath html表单,将表单邮寄给表单库。您可以将一个表单库作为网站来启动表单,然后将结果存储在不同的表单库中。由于您可以将表单库设置为接受来自任何人的电子邮件,因此您可以阻止人们阅读,但仍可以进行编辑。

还没有尝试过,但如果我遇到问题将发表评论。

10

正如你可以设置列表中只显示物品的所有者(设置中途选项>高级设置,然后读访问/修改访问设置选项为“只有自己”。这并不排除一个人看到他们添加的所有项目,但除此之外,没有任何可查看的内容(除了列表所有者)。

1

我有一个类似的问题,不希望匿名用户看到列表中的内容。

相同的解决方案可能适用于此。

在SharePoint设计器中(由于某些原因无法编辑网页),打开DispForm.aspx页面和webpart属性,添加目标受众(如果没有人看到使webpart隐藏)不要删除WEBPART - 这样做完全打破你的名单!

可以这样做AllItems.aspx

希望这会有所帮助。

0

我完全同意'Ceesaaxp'。在高级设置的列表中,将读取访问设置为仅限他们自己的。我创建了一个知识管理流程,据此我创建了两个清单,一个用于待处理的知识文章,另一个用于批准。我修改了“待办事项列表”的“新建表格”页面,并使用JavaScript作为文章状态禁用了下拉框。然后这个下拉菜单永久设置为“待定”。我还创建了一个新的权限级别,允许用户只添加项目。然后我创建了一个工作流程,当状态下拉框设置为“已批准”时,将文章移动到批准列表中。

然后,我将待处理列表的高级设置中的只读设置更改为仅限自己的设置,因此所有知识文章在发布前都已获得批准。

0

@Jomit。你的解决方法可能会奏效,但它有赛车状况问题。用户可能仍然有机会看到其他项目。这可能是一个禁止取决于你的规则。

SharePoint中的常规列表在设置/高级设置/项目级别权限下提供此选项。尽管由于某些原因,此选项在GUI上缺少文档表单库

一个可能的解决方案是编写一个简单的程序,使用SharePoint对象模型进行这些更改。 http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.writesecurity.aspx

// Sample code for setting writing and reading security on a form library 
class Program 
      { 
       static void Main(string[] args) 
       { 
        using (SPSite site = new SPSite(args[0])) 
        { 
         using (SPWeb web = site.OpenWeb()) 
         { 
          SPList list = web.Lists[args[1]]; 
          list.WriteSecurity = 2; 
          list.ReadSecurity = 2; 
          list.Update(); 
         } 
        } 
       } 
      } 
1

使用工作流中的一个模拟的一步。

2
$spweb=Get-SPWeb -Identity "<site url>"; 
$spRoleDefinition = New-Object Microsoft.SharePoint.SPRoleDefinition; 
$spRoleDefinition.Name = "Submit only"; 
$spRoleDefinition.Description = "Can submit/add forms/files/items into library or list but cannot view/edit them."; 
$spRoleDefinition.BasePermissions = "AddListItems, ViewPages, ViewFormPages, Open"; 
$spweb.RoleDefinitions.Add($spRoleDefinition); 

摘自: http://sajiviswam.wordpress.com/2011/12/09/add-only-permission-level-in-sharepoint-2010/

相关问题