list 限制用户查看 Sharepoint 列表
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/5769113/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Restricting Views of users on Sharepoint lists
提问by Saeed Salmani
I am developing a sharepoint 2010 project. I want to restrict users view on lists based on their identity. (e.g. the branch of organization they work in, but in fact the ristrictions can be more complicated).
我正在开发一个 sharepoint 2010 项目。我想根据用户的身份限制用户查看列表。(例如他们工作的组织部门,但实际上限制可能更复杂)。
What solutions do you recommend?
您推荐哪些解决方案?
回答by Mark Mascolino
With out of the box features this is not possible. You can go to great lengths to remove the list's view selectors and other navigational elements that let people cruise around a the schema and metadata for a list but it is not a security mechanism.
有了开箱即用的功能,这是不可能的。您可以不遗余力地删除列表的视图选择器和其他导航元素,这些元素让人们可以浏览列表的架构和元数据,但这不是一种安全机制。
If a user has read permissions to an item, they'll have read access to all the fields of that item.
如果用户对某个项目具有读取权限,则他们将对该项目的所有字段具有读取权限。
There is an outside chance that it you disabled all RPC mechanisms, SOAP, RESTful web services, Client Object Model and the office clients that you might be able to claim this as a security mechanism. If you don't there will always be a way around your "security" scheme.
有可能您禁用了所有 RPC 机制、SOAP、RESTful Web 服务、客户端对象模型和办公室客户端,您可以将其声明为安全机制。如果你不这样做,总会有办法绕过你的“安全”计划。
回答by Douglas
This feature can't be implemented by SharePoint by now and I think neither for the next version
SharePoint 目前无法实现此功能,我认为下一个版本也无法实现
You can use a third part tool to achieve it, such as BoostSolutions' Column/View Permissionor LightningTools' DeliverPoint
你可以使用第三方工具来实现,比如BoostSolutions的Column/View Permission或LightningTools的DeliverPoint
BTW, I work for BoostSolutions and I mentioned our own product because it works for your issue. Hope it helps :)
顺便说一句,我为 BoostSolutions 工作,我提到了我们自己的产品,因为它适用于您的问题。希望能帮助到你 :)
回答by Adam Gohre
I find it easier, if possible, to create the view and lock it with the filters on the list settings page.
如果可能的话,我发现创建视图并使用列表设置页面上的过滤器锁定它更容易。
For example, I have a list of employees that includes their employee IDs. I use that list on other pages to gather data in other webparts. So I filter the employee list to [ME]. So the data is available to the page needing it to filter others and they cannot see anything else.
例如,我有一个包含员工 ID 的员工列表。我在其他页面上使用该列表来收集其他 webpart 中的数据。所以我将员工列表过滤为 [ME]。因此,数据可用于需要它来过滤其他页面的页面,而他们看不到任何其他内容。
Now, what about the person who needs to manage that page? I create a view, call it HR. That view can see everything. Then I export that webpart with that list view on it through the designer. I then delete the HR view from the employee list.
现在,需要管理该页面的人呢?我创建了一个视图,称之为 HR。那景色可以看到一切。然后我通过设计器导出带有该列表视图的 webpart。然后我从员工列表中删除 HR 视图。
This leaves no way for anyone to switch views and see everything again. I create a webpart page for the person who manages it, and I upload that webpart and set the view of the webpart to HR. In the end, I have a page that I lock down instead of trying to lock down views or list permissions separately.
这让任何人都无法切换视图并再次查看所有内容。我为管理它的人创建了一个 webpart 页面,然后上传该 webpart 并将 webpart 的视图设置为 HR。最后,我锁定了一个页面,而不是尝试单独锁定视图或列出权限。
回答by Mohit
回答by Ashutosh Singh-MVP SharePoint
create sharepoint groups based upon your requirement or diffrent type of user base and accordingly give them rights may be item level or on complete list
根据您的要求或不同类型的用户群创建共享点组,并相应地授予他们可能是项目级别或完整列表的权限
and while doing these things just go through the following posts
在做这些事情的同时,请阅读以下帖子
http://blogs.gartner.com/neil_macdonald/2009/02/25/sharepoint-security-best-practices/
http://blogs.gartner.com/neil_macdonald/2009/02/25/sharepoint-security-best-practices/
回答by John Ptacek
Not 100% sure on SharePoint 2010, but definitley for SharePoint 2007, there is not a way to do this, especially if the views are corresponding to security requirements on the columns users are able to see.
在 SharePoint 2010 上不是 100% 肯定,但对于 SharePoint 2007 来说,没有办法做到这一点,尤其是当视图与用户能够看到的列的安全要求相对应时。
One way to work around this is have the list be not accessible by users, and then have code logic allow for access to the data creating the different "views" on the data in something like a Web Part. The downsides to this is search becomes an issue (since the data is hidden) and having multiple "views" of the data (if necessary) is also another item to work through.
解决此问题的一种方法是让用户无法访问列表,然后让代码逻辑允许访问数据,从而在 Web 部件之类的数据上创建不同的“视图”。这样做的缺点是搜索成为一个问题(因为数据是隐藏的),并且有多个数据“视图”(如有必要)也是另一个需要处理的项目。
回答by Dale
Would you be able to have two lists that are joined. One that all users have access to and another that only certain people have access to, and then join them? Then maybe the people that don't have access to the other table it doesn't pull the information? Not sure, but I'll try that out later today.
你能有两个加入的列表。一个所有用户都可以访问,另一个只有某些人可以访问,然后加入他们?那么也许无法访问其他表的人不会提取信息?不确定,但我会在今天晚些时候尝试。