前言

本文完全原创,转载请说明出处,希望对大家有用。

随着企业信息化建设逐渐成熟,基于微软体系的企业内部系统架构在众多企业中得到应用,随之而来的用户统一身份认证(SSO)问题成为企业IT部门急需解决的问题。本期主题围绕Active Directory Federation Services与SharePoint Server 2013集成,理解ADFS的实现方式,同时实现以SharePoint企业门户为中心的企业级办公平台,解决基于微软AD身份验证的统一身份认证问题。接下来我们从ADFS的安装、部署、集成等方面,以三篇博客完成整个系列。

正文

ADFS介绍

Active Directory Federation Services是一种标准的基础服务, 它允许在外部网络之间安全共享可信任伙伴的身份信息。ADFS是基于Web的单点登录(Single Sign-On (SSO))的标准, 它通过实现了foreast间的claim based authentication而了开启了联合身份(federated identity).Claim based authentication是一种认证用户的过程, 它的实现基于装在trusted token中的关于用户身份的一系列claims。这样的一个token通常是由一个能够通过其他途径来认证用户的一个实体来生成并赋予的, 并且这个实体还得被实现了claim based authentication的实体所信任。在ADFS中, 身份的联合(identity federation )是通过在两个组织的安全边界间建立信任关系来实现的. 在一端(account side)的federation server 负责通过在Active Directory domain services中的标准方式认证一个用户, 然后生成一个包含一系列包含有关这个用户的claims的token, 包括federation server的实体本身. 另一端(resource side), 另一个federation server会校验这个token, 然后生成另一个token供本地服务器接受claimd identify所用. 这允许系统为它的资源提对另外一个安全边界的某用户供可控制的访问权限, 而不需要让这个用户直接登录系统, 也不需要两个系统共享用户的identify和密码。此方式下需要在客户环境安装ADFS服务,同时需要第三方应用集成ADFS认证,从而实现用户的单点登录。ADFS验证流程如下:

ADFS验证方式下的身份信息传递步骤:

  1. 用户打开浏览器访问Web资源
  2. Web应用根据当前用户信息返回是否已登陆的标识符
  3. 如未登陆,则页面跳转至ADFS验证页面,要求用户输入凭据(AD账号密码)
  4. 验证通过,则返回有效的Token到客户端
  5. 客户端携带该Token的请求再次发送到Web资源,Web应用程序成功返回请求的资源信息

如何安装部署

ADFS 3.0的安装官方提供了完整的安装部署文档:

https://msdn.microsoft.com/en-us/library/azure/dn528857.aspx

以Windows Server 2012 R2为例,开启ADFS功能,并连接相应的数据库即可。安装完成后,通过浏览器访问https://your_adfs_server_url/federationmetadata/2007-06/federationmetadata.xml查看元数据文件:

本次主题围绕与SharePoint Server 2013的集成,秉承前人栽树后人乘凉的原则,同时配置也不是本文的重点内容,所以请参考以下配置文档:

https://technet.microsoft.com/zh-cn/library/hh305235.aspx(官方文档)

http://sharepointpals.com/post/Configuring-ADFS-as-Authentication-Provider-For-SharePoint-2013-Web-Application

http://blog.csdn.net/duanchuanttao/article/details/51374678


与SharePoint集成中所用的证书

在安装和部署过程中,我们参考上面的安装配置文档即可以正常的完成,但经常会遇到证书的各种问题,如无法信任、导入版本异常等。下面我们针对配置过程中使用到的证书逐一进行分析讲解。

1. ADFS Signing证书

ADFS Signing证书是用于验证令牌颁发者的身份是否合法,ADFS所支持的SSL传输协议,为了保证正确解码,我们需要将Signing证书导入到SharePoint中。在使用过程中,请注意证书的有效期限,如果在使用中证书过期,SharePoint会报无法解析令牌的错误。证书在绑定前,请注意将该证书所属证书链上的所有证书都导入计算机证书管理中。比如根证书导入到根证书信任机构,中间证书导入到中间证书信任机构。如果导入的证书链不正确,会导致系统请求证书验证错误,具体错误我们会在系统优化时来讲解。

2. SharePoint 前端服务器SSL证书

ADFS 3.0支持的信任伙伴必须使用SSL协议,故我们安装的SharePoint Server 2013中Web服务器必须安装私有或共有的SSL证书。证书在绑定前,请注意将该证书所属证书链上的所有证书都导入计算机证书管理中。比如根证书导入到根证书信任机构,中间证书导入到中间证书信任机构。

3. SharePoint Root Authority certificate

这个证书是SharePoint自动生成的根证书,在Windows 验证下,我们无需使用到该证书。当SharePoint 与 ADFS集成后,系统会使用该证书,并验证其有效性,具体使用方式,我们在后续系统优化时讲解。


结束语

先简单开个头,下一篇写由ADFS返回的Claims,SharePoint又如何使用和保存这些Claims,请继续关注后续博客。

[ SharePoint ADFS 开发部署系列 (一)]的更多相关文章

  1. Sharepoint 2013 安装部署系列篇 第三篇 -- 安装和配置网络负载均衡在前端web服务器

    第一部分 系统集群安装 第二部分 SQL集群安装 第四部分 安装和配置sharepoint 场(三层拓扑部署) 接下来一步一步开始配置NLB吧, 以下开始讲解如何配置NLB集群作为sharepoint ...

  2. Sharepoint 2013 安装部署系列篇 第二篇 -- SQL集群安装

    第一部分 系统集群安装. 第三部分 安装和配置网络负载均衡在前端web服务器 第四部分 安装和配置sharepoint 场(三层拓扑部署) 以下图片均为sharepoint 2010..由于本人的笔记 ...

  3. Sharepoint 2013 安装部署系列篇 第一篇 -- 系统集群安装

    这部分讲述怎样配置两台服务器作为sql集群. 准备 *你需要两个网卡在每台服务器上,一个是共有,另一个是私有的(heartbreak通信)*共享存储如SAN存储需要至少如下配置,并且需要连接到每台节点 ...

  4. SharePoint 2013 开发——开发并部署第一个APP

    博客地址:http://blog.csdn.net/FoxDave 本篇我们开始对开发APP应用程序进行了解. 本篇基于本地SharePoint环境(如果是Office 365的话会方便许多),需 ...

  5. 转载 SharePoint开发部署WSP解决方案包

    转载原出处: http://642197992.blog.51cto.com/319331/1582731 注:本文所讲内容以SharePoint2013版本为例,开发工具以VS2013为基础.历史版 ...

  6. 【Xamarin开发 Android 系列 13】 应用打包部署

    原文:[Xamarin开发 Android 系列 13] 应用打包部署 开始倒叙咯................ 先更新大宝部署吧,这个章节比较的Easy,童鞋们不用费脑筋.点解?从界面上填写几个参 ...

  7. 【Xamarin开发 Android 系列 1】环境部署搭建

    原文:[Xamarin开发 Android 系列 1]环境部署搭建 开篇自然先扯一段,近几年移动互联网如果熊猫零食一样,蔓延迅速.楼主身为一个微软忠实的粉丝,无奈,老爹不给力.Silverlight开 ...

  8. 系列文章--SharePoint 2013 开发教程

    做了SharePoint有三年了,大家经常会问到,你的SharePoint是怎么学的,想想自己的水平,也不过是初级开发罢了.因为,SharePoint开发需要接触的东西太多了,Windows操作系统. ...

  9. C#开发BIMFACE系列47 IIS部署并加载离线数据包

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在前两篇博客<C#开发BIMFACE系列45 服务端API之创建离线数据包>与<C#开发BIMFACE系 ...

随机推荐

  1. Codevs3278[NOIP2013]货车运输

    3287 货车运输 2013年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond      题目描述 Description A 国有 ...

  2. 很污的机器学习:从xhamster网站找到喜欢的片子

    前言 最近迷上了看黄片(大雾).每次总是去搜索想看的片子,什么asian porn anal pussy 什么的我都不知道. 搜索着搜索着我手也累了,而且我喜欢的片子也是有一定的特征的,我不想把所有的 ...

  3. 更加 "深入" 理解多态

    1.1 public abstract class Birds{ //什么样的方法是抽象方法 public abstract void Fly(); } public class YZ:Birds{ ...

  4. pageRank算法 python实现

    一.什么是pagerank PageRank的Page可是认为是网页,表示网页排名,也可以认为是Larry Page(google 产品经理),因为他是这个算法的发明者之一,还是google CEO( ...

  5. HTML标签自定义属性

    本文章转载至:http://www.cnblogs.com/luoyanli/archive/2012/10/17/2727886.html HTML标签可以自定义属性,但是我们要考虑其在IE.Fir ...

  6. 谈谈数据库中MyISAM与InnoDB区别 针对业务类型选择合适的表

    MyISAM:这个是默认类型,它是基于传统的ISAM类型, ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法. ...

  7. Ioc在重构代码中的应用

    最近lz在写抓工商公式系统(http://www.gsxt.gov.cn/index.html)的爬虫,其中的难点就是在怎么过极验验证码,搞的我不要不要的!如下: 简直是各种坑,被搞的死去活来以后还是 ...

  8. django进阶-3

    先看效果图: 登陆admin后的界面: 查看作者: 当然你也可以定制admin, 使界面更牛逼 数据库表结构: app01/models.py from django.db import models ...

  9. 完全关闭IIS日志,包括System32下的LogFile

    早上突然发现网站访问不了了,登陆服务器一看,是C盘满了. 查一看,是IIS产生了70多G的日志,但明明已关闭日志了,还是会产生. 产生的目录在:C:\Windows\System32\LogFiles ...

  10. CSS -- 练习之制作简单商品图

    只加深了印象,出错点:未给左侧人物大图宽高,致使第二行图层叠在其上: <!DOCTYPE html> <html lang="en"> <head&g ...