【问题标题】:Sharepoint 2010 - list item permission according to value in columnSharepoint 2010 - 根据列中的值列出项目权限
【发布时间】:2016-08-03 02:15:38
【问题描述】:

我有一个共享点列表“Notes”,其中包含 [Title] 和 [Department] 列。

我从另一个名为“Departments”的列表中获取列 [Department] 的值(列 [Id] 和 [Name]。

我想要这个

每当我在“笔记”中添加新记录时,我都想根据部门列中值设置的权限设置该记录的权限。

因此,基本上,我需要首先设置权限,哪些用户或组对“部门”列表中的每个部门具有权限。之后,我需要从[Department]的值继承“Notes”列表中的这个权限。

例如

部门列表如下所示

计费(用户或组的一些权限)

操作(用户或组的一些权限)

销售(用户或组的一些权限)

我想在“Notes”中添加新记录,例如“Hello, new item”,我选择了部门“Billing”。

现在,我希望只有有权查看帐单记录的用户/组才能看到此记录。没有其他人。

等等...一旦我向 [Department] Operations 添加新记录,我希望只有有权查看 Operations 记录的用户/组才能看到这些记录。

我有什么解决办法吗?我认为它应该与共享点设计器工作流程“替换权限”有关,但我从未弄清楚如何按照上述方式进行设置。

谢谢,

一月

【问题讨论】:

  • 可以使用模拟步骤覆盖工作流中的权限 - 我相信这仅适用于 SP 2010 工作流。但是,我不确定是否可以读取另一个列表的权限值以将该用户信息提取到工作流中。这些部门是否没有设置为权限组或在您的 AD 中?
  • 好吧,这就是我的观点 - 如果可以读取另一个列表中项目的权限数据,...在列 Deartment 中的备注列表中的数据只是部门列表中的记录,并且每个部门列表中的记录已设置自己的权限。
  • 我个人会使用农场解决方案和事件接收器来解决您的问题

标签: sharepoint permissions sharepoint-2010 sharepoint-designer sharepoint-workflow


【解决方案1】:

正如您所提到的,“替换列表项权限”操作是在不创建自定义事件接收器的情况下实现此目的的唯一方法。这是一篇关于它的博客文章:http://spcycle.blogspot.com.tr/2012/01/how-to-create-workflow-to-change-item.html

话虽如此,我认为使用工作流在共享列表中保护项目级别的敏感信息并不是一个好主意。如果工作流有一天由于某种原因停止工作怎么办?当您将 SP 部署升级到下一个版本时,这种情况并不罕见……人们会继续使用该列表,因为他们假设他们的信息是安全的,我可以想象这会给某些人带来很多麻烦。此外,如果该列表中的项目数量“高”,您将遇到性能问题并可能会遇到soft limits of SharePoint

我会为每个部门创建一个单独的列表来存储他们的笔记或在每个部门的笔记列表中创建一个文件夹,将其锁定到相应的部门并要求该部门的用户将他们的笔记放入他们部门的文件夹中。

【讨论】:

  • 谢谢 Serkan,我必须同意。你说的都有道理。我将按照您的建议使用几张桌子来做到这一点。一月
  • 不错的选择 jan,尽管有很多要求实现基于列的安全性,但它不在产品中。它也更易于管理,无需自定义实施,这将降低未来的维护和迁移成本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-31
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 2014-09-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多