简体   繁体   English

如何防止一组用户看到具有特定状态的项目?

[英]How to prevent a group of users from seeing items with a specific status?

Here's my situation ; 这是我的情况;

On a SharePoint 2010 site, I have a workflow which gives a status " In Progress " or " Completed " to the items. 在SharePoint 2010网站上,我有一个工作流,其状态为项目为“ 进行中 ”或“ 已完成 ”。

I'd like to prevent a group of people (for example : site-limited-users) from seeing all the items that have " In Progress " status. 我想阻止一群人(例如:site-limited-users)看到所有具有“ In Progress ”状态的项目。

Thank you in advance for your help ! 预先感谢您的帮助 !

Best regards, Amine. 最好的问候,胺。

You may have several options besides messing with item-level permissions. 除了弄乱项目级权限外,您可能还有其他选择。

Using Draft-Level Security 使用草稿级安全性

Curiously, your requirements sound almost identical to a built-in feature in SharePoint. 奇怪的是,您的要求听起来几乎与SharePoint中的内置功能相同。

If you navigate to List Settings -> Versioning Settings, you'll see that if you enable major and minor versioning, you get the option to enable Draft Item Security. 如果导航到“列表设置”->“版本控制设置”,则会看到如果启用主要和次要版本控制,则可以选择启用“草稿项目安全性”。 Draft Item Security allows you to hide minor versions of items from users who don't have sufficient access. 草稿项目安全性允许您向没有足够访问权限的用户隐藏次要版本的项目。

By default, anyone with read access can view draft versions, but you can change it so only people with edit access can view them, or so that only people with more elevated permission level of approve can view them. 默认情况下,任何人只要有访问可以查看草案版本,但你可以改变它,只有人的编辑权限可以查看它们,或者这样才有人与批准可以查看他们的更提升权限级别。

You'd just need to make sure that your workflow publishes a major version of the item when it completes. 您只需要确保工作流在完成时发布该项目的主版本即可。

You might want to explore the content approval option as well; 您可能还想探索内容批准选项; out of the box approval workflows can tap into that feature to control item draft state. 开箱即用的批准工作流可以利用该功能来控制项目草稿状态。

Using Views to Conceal In-Progress Items 使用视图隐藏正在进行的项目

Depending on how stringent your security requirements are, you may be able to use views to prevent users from seeing the in-progress items. 根据您对安全性要求的严格程度,您也许可以使用视图来防止用户看到正在进行的项目。 This would certainly be easier to manage than breaking and resetting permission inheritance at the item-level. 这肯定比在项目级别中断和重置权限继承要容易管理。

To prevent users from seeing in-progress items: 为防止用户看到正在进行的项目:

  1. Edit all the public views of the list so that they filter out any in-progress items. 编辑列表的所有公共视图,以便它们过滤掉任何进行中的项目。
  2. Ensure that the restricted group of users does not have access to create any new public or personal views on the list in question. 确保受限的用户组无权在相关列表上创建任何新的公共或个人视图。
  3. To allow other users to see the in-progress items, add a list view web part to a page and edit the view in that web part so that it does not exclude the in-progress items. 要允许其他用户查看进行中的项目,请将列表视图Web部件添加到页面并在该Web部件中编辑视图,以使其不排除进行中的项目。 Use page-level security or web part audience targeting to prevent the restricted group of users from being able to view the page or web part. 使用页面级安全性或Web部件受众定位,以防止受限制的用户组能够查看页面或Web部件。

This achieves security by obscurity, removing any direct links by which the users could find their way to the in-progress list items. 这样可以通过隐蔽性来实现安全性,删除任何直接链接,用户就可以通过这些直接链接找到进行中的列表项。

It does not provide true security. 不能提供真正的安全性。 The restricted users could, for example, directly manipulate the URL to try to find their way to in-progress items, such as by opening up the display form of a completed item and swapping out different values for the ID parameter in the URL query string. 受限用户可以例如直接操纵URL来尝试找到正在进行的项目,例如通过打开已完成项目的显示形式并交换URL查询字符串中ID参数的不同值来进行。 。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM