在我们进行的日常工作中,是由一部分信息需要 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. NancyFX 第八章 内容协商

    在Web框架的范畴内,一切都是基于REST的-- 从返回包含CSS.JavaScript的网页的路由路径,到那些返回JSON数据的URL. 无论你怎么看它,两者都是必须的.我们使用一组URL来呈现UR ...

  2. css学习の第二弹—文字格式化排版

    1.css格式化排版 >>字体设计: etc:body{font-family:"Microsoft Yahei";} >>字号,颜色: etc:body{ ...

  3. 从JavaScript的事件循环到Promise

    JS线程是单线程运行机制,就是自己按顺序做自己的事,浏览器线程用于交互和控制,JS可以操作DOM元素, 说起JS中的异步时,我们需要注意的是,JS中其实有两种异步,一种是基于浏览器的异步IO,比如Aj ...

  4. Centos搭建开发环境,PHP7+ Nginx1.12+ Mysql5.7

    1.更新yum源 yum -y update 2. 安装 epel-release yum install epel-release -y 检测安装成功:yum search nginx  结果含有: ...

  5. 轮评审用例,写用例的重要性-----(python单元测试反思)

    时间过的真快,3月底了,更新一次博客吧,算是对三月份忙碌的一个总结. 吃过饭,习惯登录qq,看到我群里的一个大神,碎冰发的一个作业 不就是写个代码吗,然后写完再进行测试这个代码是否实现了这个功能. 于 ...

  6. JS中原始值和引用值的储存方式

    在ECMAscript中,变量可以存放两种类型的值,即原始值和引用值 原始值指的是代表原始数据类型的值,也叫基本数据类型,包括:Number.Stirng.Boolean.Null.Underfine ...

  7. 基于 CDH 构建推荐系统

    我理解的推荐系统本质是一种排序方式.排序的规则是按照我们预测的用户喜好程度的一个排序的列表,而如何定义用户的喜好程度是推荐系统要解决的核心问题.机器学习的算法只是推荐系统的一部分.构建一个完整的推荐系 ...

  8. JavaScript:方法&对象大全

    方法 方法的原型链 <html> <head> <title></title> </head> <script type=" ...

  9. MySql (MariaDB)的varchar字段的存储的是字符还是字节

    关于varchar字段: 在version4之前,按字节: version5之后,按字符. 现在普遍都按字符算:无论中文英文,都算一个字符 既: varchar(10) == '123456789a' ...

  10. CorelDraw X8 破解激活问题

    在为X8使用特殊辅助手段激活时,通过菜单“帮助”-“产品详细信息”页中的“我有序列号”链接打开对话框,输入序列号激活. 然而,由于安装时要求联网登陆,很有可能获取了试用序列号,导致点击链接后,输入对话 ...