在我们进行的日常工作中,是由一部分信息需要 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. Hadoop之Secondary NameNode

    NameNode存储文件系统的变化作为log追加在本地的一个文件里:这个文件是edits.当一个NameNode启动时,它从一个映像文件:FsImage,读取HDFS的状态,使用来自edits日志文件 ...

  2. 使用MBROSTool 工具制作本地硬盘多启动盘的方法总结

    前段时间写了一个自用五合一多启动盘分享--分别用来维护娱乐,wifi密码破解,win&mac登陆密码绕过/清除,反馈的同学还是挺多,觉得大家都有这方面的需求,于是再把自己的使用经验总结一下. ...

  3. VMware Workstation 学习笔记

    1. 什么是虚拟机:虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的.可以运行在一个完全隔离环境中的完整计算机系统. 2. 虚拟机的用途:测试软件.搭建某种特定需求的环境 ...

  4. OpenStack中部署glance的步骤

    OpenStack中部署glance的步骤(基于Ubuntu14.04系统) author:headsen  chen   2017-10-13   08:34:35 个人原创,转载请注明作者,出处, ...

  5. NEO从入门到开窗(3) - NEO编译器

    一.啰嗦两句 第一节的时候咱说了C#编译完了之后,就该NEO的编译器搞事情了.我们完全可以按这个节奏搞,手动用NEO的编译器neon编译dll文件生成指令码文件.avm.但是NEO团队给我们写智能合约 ...

  6. 笔记:Maven 配置文件模板

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  7. 由浅入深理解----java反射技术

    java反射机制详解 java反射机制是在运行状态下,对任意一个类可以获取该类的属性和方法,对任意一个对象可以调用其属性和方法.这种动态的获取信息和调用对象的方法的功能称为java的反射机制 clas ...

  8. JVM内存管理概述与android内存泄露分析

    一.内存划分 将内存划分为六大部分,分别是PC寄存器.JAVA虚拟机栈.JAVA堆.方法区.运行时常量池以及本地方法栈. 1.PC寄存器(线程独有):全称是程序计数寄存器,它记载着每一个线程当前运行的 ...

  9. RESTFUL风格 put 报错 HTTP Status 405 - JSPs only permit GET POST or HEAD

    出现下图这种情况时是controller所return的jsp视图找不到, 所以提示请求只允许GET.POST.HEAD. 解决方案 1.若返回视图,把表单中name为_method的input值改为 ...

  10. iOS 消息发送与转发详解

    Objective-C 是一门动态语言,它将很多静态语言在编译和链接时期做的事情,放到了运行时来处理.之所以能具备这种特性,离不开 Runtime 这个库.Runtime 很好的解决了如何在运行时期找 ...