在我们进行的日常工作中,是由一部分信息需要 Share 给其他人或者组织的。SharePoint 虽然支持在某个 Site Collection 中互通信息,但是跨 Site Collection 的数据分享就很难通过传统方法实现。一般来说,我们可以使用 Search Content Web Part 来实现其他 Site Collection 的数据表示,但是一旦需要表示的内容发生了变化,与已经写好的 Query text 不相符,表示的内容就有可能出现不全面或者们不能及时更新的问题。

那么如何准确,及时的更新 SharePoint 中其他 Site Collection 中发布的信息呢?我们可以使用一项 SharePoint 2010 中就已经存在了的“老爷爷”功能,RSS Feed。

RSS(Really Simple Syndication) - 简易信息聚合,是一种在互联网上广泛被采用的内容包装和投递协议。在互联网发展的前期就已经出现,1999 由网景公司发布 v0.91 版本,此后一直保持更新到 v2.0 版本。其具有以下三个特点:
· 来源多样的个性化“聚合”特性。
· 信息发布的时效、低成本特性。
· 无“垃圾”信息、便利的本地内容管理特性。

那么 SharePoint 对 RSS 的支持也就是一种对主流互联网功能的支持。当前,SharePoint 的 List 和 Library 均支持 RSS Feed 功能。

说了这么多前提条件,那么 SharePoint 的 RSS Feed 功能究竟如何使用呢?在进行 RSS 的使用之前,我们先要了解一下 RSS Feed 的工作原理。

在 SharePoint Server 2016 中,RSS Feed 的应用是需要访问特定的 permission provider,如果是在 Share Point 内部访问,RSS Feed,我们需要匿名访问权限或者 Windows - Kerberos 认证;如果是域外分享或者 SharePoint 外的环境进行访问,那么就只可以使用匿名认证。

其原因可以参考下图:

从此图可以看出 RSS Feed 的权限认证使用了网页登陆时的认证,并将匿名访问的认证通过 RSS Viewer 传递给了目标 RSS 源。RSS 源确认权限信息(匿名认证也是一种认证) 后将数据源内的信息传递给 RSS Viewer。这时 RSS Viewer 内就可以显示出 RSS Source 中的内容了。这要求RSS 源所在的被参照方 Site 支持匿名访问,这并不是说携带其他认证信息的访问就能访问 RSS 源了,而是无论何种 SharePoint 支持的认证,都可以转换为匿名认证对相关的数据进行访问。所以 RSS 源还是仅接受匿名访问的请求,其他携带权限信息的请求是会被拒绝的。

从此图可以看出,在 SharePoint 内部,并使用 Kerberos 认证的 RSS Feed 需要参照方和被参照方均支持 Kerberos 认证,且 RSS 可以依据所在 List / Library 的权限配置信息和访问的 Kerberos Token 来决定返回给请求端 RSS Viewer 的信息。也就是说, 利用 Kerberos 认证的 SharePoint Site Collection 间发布的 RSS Feed 是可以根据权限来控制表示在参照端 RSS Viewer 上的内容。

了解了 RSS Feed 的工作过程,我们就来进行一下 RSS Feed 的相关操作。如果采用 Kerberos 认证的的 RSS Feed ,那么认证的部分只需要在 User 端配置 SPN 信息,以及在 Web Application 的 Authentication Provider 中选择 Windows - Kerberos 类型就可以完成配置了。而使用匿名访问的情况下,我们需要在 Web Application 配置中的 Authentication Provider 处打开匿名认证的同时,在目标 Site 上(或者 List / Library 上)也打开匿名认证,来保证目标 RSS Source 的可访问性。

下面以实例表示如何开启一个匿名的 RSS Feed 功能:
1,首先打开 Web Application Management,选择 RSS Source 所在的 Web Application 后,点击 Ribbon 上的 [Authentication Provider] 后,勾选匿名访问 [Enable anonymous access] 后,点击确定。

2,打开 RSS Feed 所在的 Site ,并进入 Site Permission Setting 设置页面,点击 Ribbon 上的 [Anonymous Access] ,并在设置界面上将 Anonymous user can access: 的设定改为 [Entire Web site],之后点击 [OK],保存设定。

3,打开要使用 RSS Feed 的 Library,在 Ribbon 的 Library Tag 中点击 RSS Feed 按钮,进入 RSS Feed 的发布页面。

由于我的 Site Collection 原生语言是日语,所以这张图也就变成日语了,请不要在意,因为重点根本不在页面上。
重点在页面的 URL 上,复制这个 URL。这样,发布的动作就已经完成了。下面我们要做的,就是将发布了的 RSS Feed 表示在一个 Web Page 上。

在任意一个页面上,添加 SharePoint 中用于展示 RSS Source 内容的 Web Part ,RSS Viewer Web Part:

加上去之后大概是这个效果:

这个时候我们需要对 RSS Viewer 进行编辑,添加 RSS Source 的 URL。点击 [Open the tool pane],弹出 RSS Viewer 的设置侧边栏:

在 [RSS Feed URL] 上,输入刚才发布的 RSS Source 的数据源的 URL后,点击 [OK] 保存设定。

这样你就可以在 RSS Viewer 上看到 RSS Source 的数据啦:

如果使用了不被支持的认证方式, RSS Viewer 会直接报错,并无法显示出内容,如图:

这种情况就是参照了认证不符合要求的 RSS Source 的错误示例。

需要注意的是,根据我的经验,使用何种认证方式进行请求的信息,是在发布的时间点就写在 Published URL 上的,也就是说,已经出现这个错误提示的 URL,即使将目标 Site / List / Library 修改成被支持的认证方式,也是无法直接使用当前的 URL 进行信息发布的,如要解决这个问题,只能在 RSS 源上重新发布 RSS Feed URL,并将新的 URL 更新到 RSS Viewer 中去。

在 SharePoint 中使用 RSS Feed 的理论和方法就是这些,还有一部分是 Site 上对 RSS Feed 的签名信息的设定,这部分比较简单,我会在对此 blog 的更新中追加到这一篇中,就不开新篇记录了。

“认证发布”和“获取展示”,如何在 SharePoint 中正确使用 RSS Feed。的更多相关文章

  1. 如何在 Java 中正确使用 wait, notify 和 notifyAll(转)

    wait, notify 和 notifyAll,这些在多线程中被经常用到的保留关键字,在实际开发的时候很多时候却并没有被大家重视.本文对这些关键字的使用进行了描述. 在 Java 中可以用 wait ...

  2. 如何在 Java 中正确使用 wait, notify 和 notifyAll – 以生产者消费者模型为例

    wait, notify 和 notifyAll,这些在多线程中被经常用到的保留关键字,在实际开发的时候很多时候却并没有被大家重视.本文对这些关键字的使用进行了描述. 在 Java 中可以用 wait ...

  3. 如何在Eclipse中正确安装Jetty插件并初步使用(图文详解)

    不多说,直接上干货! 最近在做一个Storm项目,需要用到Jetty来进行展示.它类似于Tomcat. 一.eclipse中jetty插件安装 打开eclipse,依次点击菜单Help->Ecl ...

  4. 如何在JavaScript中正确引用某个方法(bind方法的应用)

    在JavaScript中,方法往往涉及到上下文,也就是this,因此往往不能直接引用,就拿最常见的console.log("info…")来说,避免书写冗长的console,直接用 ...

  5. 如何在 Java 中正确使用 wait, notify 和 notifyAll?

    简介     wait,notify,notifyAll,都是属于object对象提供的方法,但在实际工作中怎么使用这几个方法,确是很多程序员清楚,不够明白,在群里问,有人说,哪个线程想wait,就用 ...

  6. 如何在sharepoint2010中配置Google Anlytics 分析服务

      简介 Google Analytics(分析)不仅可以帮助您衡量销售与转化情况,而且能为您提供新鲜的深入信息,帮助您了解访问者如何使用您的网站,他们如何到达您的网站,以及您可以如何吸引他们不断回访 ...

  7. SharePoint中使用Visio Service展示业务数据

    SharePoint中可以通过Visio Service可以在浏览器中查看Visio图,功能部署到系统中,一切安好. 而现实总是很折磨人,使用该功能后,相关使用者随后提出,Visio图能否与我的业务数 ...

  8. Alpha发布—文案+美工展示

    目录 团队简介 项目进展 组内分工 队员总结 后期计划 一.团队简介 二.项目进展 从选题发布到今天的Alpha发布,我们团队经历了许许多多的磨难.我们最终设计了如下的功能:首页.班级.个人.更多.打 ...

  9. 如何在 WPF 中获取所有已经显式赋过值的依赖项属性

    原文:如何在 WPF 中获取所有已经显式赋过值的依赖项属性 获取 WPF 的依赖项属性的值时,会依照优先级去各个级别获取.这样,无论你什么时候去获取依赖项属性,都至少是有一个有效值的.有什么方法可以获 ...

随机推荐

  1. Python + request + unittest实现接口测试框架

    1.为什么要写代码实现接口自动化 大家知道很多接口测试工具可以实现对接口的测试,如postman.jmeter.fiddler等等,而且使用方便,那么为什么还要写代码实现接口自动化呢?工具虽然方便,但 ...

  2. java 多态 ---父类调用子类方法

    package test1;//多态的体现import javax.print.attribute.standard.RequestingUserName;import java.util.Scann ...

  3. 简简单单把event loop说清楚

    event loop这东西,确实把我坑了一把,面试的时候被问到这个问题的时候,我是懵逼的,完全不知道怎么回答,而当我回来查到原来这个听起来如此玄乎又厉害的名字就是异步和单线程那块的知识的时候,我心情又 ...

  4. Appserv(Apache) 设置网页不显示目录(索引)

    首先在appserv安装目录下找到httpd.conf文件 ./AppServ/Apache24/conf/httpd.conf 打开文件,找到 Options Indexes FollowSymLi ...

  5. dot watch+vs code提成asp.net core开发效率

    在园子中,已经又前辈介绍过dotnet watch的用法,但是是基于asp.net core 1.0的较老版本来讲解的,在asp.net core 2.0的今天,部分用法已经不太一样,所以就再写一篇文 ...

  6. 自己动手写泛型dao

    在经过一系列的问题得到解决之后,泛型dao终于写出来了.泛型dao相比于以前写的dao最大的好处就是,大大提高了代码的复用性,以往我们要对数据库中表中的数据进行操作的时候,每张表都需要写一个dao来操 ...

  7. Java IO流简介

    Java中的流是什么? java中的流是一个抽象的概念,在java的程序中需要把文件从一个设备传输到另一个设备上,这个设备可以是内存,程序,文件,网络.把在这些之间传输的叫做流.官方的解释:流是一组有 ...

  8. Webpack结合ES6

    一.概述ES6现在正是风华正茂的时候,各个公司都是 尝试去使用,并且作为前端工程师ES6也是体现技术的亮点.但是,现在的浏览器对es6支持不是 特别的兼容,最终还是需要把es6转换为es5,webpa ...

  9. 测试框架Mocha

    NodeJS里最常用的测试框架估计就是mocha了.它支持多种node的assert libs, 同时支持异步和同步的测试,同时支持多种方式导出结果,也支持直接在browser上跑Javascript ...

  10. 【openvpn】转载:烂泥:ubuntu 14.04搭建OpenVPN服务器

    地址:http://www.cnblogs.com/ilanni/p/4681740.html (1)安装openVpn软件后.在openVpn的配置目录下添加配置文件: ca.crt  client ...