这是本系列第四篇了,终于轮到SharePoint上场了,但是本文不会过多讲解SharePoint安装等话题,而是直入主题,讲解如何进行配置,让其于ADFS配合完成SSO的工作。

注意:本文使用的SharePoint为2013版。

本系列导航

实战:ADFS3.0单点登录系列-总览

实战:ADFS3.0单点登录系列-前置准备

实战:ADFS3.0单点登录系列-ADFS3.0安装配置

实战:ADFS3.0单点登录系列-集成SharePoint

实战:ADFS3.0单点登录系列-集成MVC

实战:ADFS3.0单点登录系列-集成Exchange

实战:ADFS3.0单点登录系列-自定义ADFS样式

实战:ADFS3.0单点登录系列-问题汇总

一 SharePoint端的配置

1.在ADFS服务器,打开ADFS管理工具,定位到证书,将令牌签名证书导出。并拷贝到SharePoint服务器。

2.打开SharePoint命令行管理工具,并非是windows的的powershell

3.执行如下命令

$cert = New-Object System.Security.Cryptography.x509Certificates.x509Certificate2 ("c:\ADFS.cer")

New-SPTrustedRootAuthority -Name "Token Signing Cert" -Certificate $cert (Name可以随意)

$upnClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -IncomingClaimTypeDisplayName "UPN" -SameAsIncoming(定义UPN声明类型)

$emailClaimMap= New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"-IncomingClaimTypeDisplayName "EmailAddress" –SameAsIncoming(定义Email声明类型)

$realm = "urn:sharepoint:ql" (设置标识符,sharepoint提供给ADFS的唯一身份认证)

$signInURL = "https://xtcs-validate.test.com/adfs/ls" (adfs登录地址)

$ap = New-SPTrustedIdentityTokenIssuer -Name "TCSCD Provider for SharePoint" -description “SAML secured SharePoint" -realm $realm -ImportTrustCertificate $cert -ClaimsMappings $emailClaimMap, $upnClaimMap -SignInURL $signInURL -IdentifierClaim $upnClaimMap.InputClaimType

(Name可以随意命名,描述也可随意命名)

注意:

l  如果需要修改证书信任,则先删除
Remove-SPTrustedRootAuthority -Identity " Token Signing Cert"
l  如果需要修改tokenissuer:则先删除
 Remove-SPTrustedIdentityTokenIssuer -Identity " TCSCD Provider for SharePoint "

否则会出现如下错误:

“ADFS new-sptrustedIdentityTokenIssuer:the trust provider certificate already exist”

二 ADFS配置

1.在ADFS服务器,打开ADFS管理控制台,并定位到信任关系->信赖方信任

2.点击“添加信赖方信任”

3.选择“手动输入有关信赖方的数据"

4.输入名称和描述

5.选择“ADFS配置文件”,下面的是ADFS1.0和2.0使用的配置文件。

6.配置证书,默认即可,后面会讲解如何对证书进行单独的修改。

7.选择“启用对ws-federation的被动协议支持”,URL必须是https://sharepoint应用程序地址/_trust/的形式。例如:https://sso-sp.tt.com/_trust/

8.配置标识符,格式“urn:xxx:xx”,和1.3中的$realm设置相同

9.立即启用多重身份验证,保持默认

10.选择授权规则,选择“允许所有用户访问此信赖方”

11.完成并打开”编辑声明规则“对话框

12.添加声明规则,以声明形式发送LDAP特性

13.填入名称,并选择UPN和Email和之前SharePoint命令行工具中设置的声明相对应

14.完成

三 配置SharePoint使用前面创建的自定义STS

1.Sharepoint管理中心>应用程序管理>管理web应用程序>选中需要配置的web应用程序>身份验证提供程序

2.修改身份提供程序:点击默认->编辑验证>选中信任的身份提供程序>选中之前注册的信任的身份验证提供程序->保存,本例中为

TSCCD Provider for SharePoint

3.修改SharePoint网站集管理员为UPN格式:Sharepoint管理中心>应用程序管理>网站集>修改网站集管理员

四 验证

直接在浏览器输入SharePoint应用程序地址,检查是否跳转至ADFS登录页面

至此,sharepoint成功与ADFS结合,并且使用ADFS的登录替换掉了SharePoint自带的弹出框身份认证。

注意:本例中SharePoint需要配置为使用SSL的形式。

实战:ADFS3.0单点登录系列-集成SharePoint的更多相关文章

  1. 实战:ADFS3.0单点登录系列-集成MVC

    本文将讲解如何让MVC应用程序与ADFS集成,完成认证的过程. 目录: 实战:ADFS3.0单点登录系列-总览 实战:ADFS3.0单点登录系列-前置准备 实战:ADFS3.0单点登录系列-ADFS3 ...

  2. 实战:ADFS3.0单点登录系列-集成Exchange

    本文将介绍如何将Exchange与ADFS集成,从而实现对于Exchange的SSO. 目录: 实战:ADFS3.0单点登录系列-总览 实战:ADFS3.0单点登录系列-前置准备 实战:ADFS3.0 ...

  3. 实战:ADFS3.0单点登录系列-总览

    本系列将以一个实际项目为背景,介绍如何使用ADFS3.0实现SSO.其中包括SharePoint,MVC,Exchange等应用程序的SSO集成. 整个系列将会由如下几个部分构成: 实战:ADFS3. ...

  4. 实战:ADFS3.0单点登录系列-前置准备

    本文为本系列第二篇,主要分为两部分进行介绍, 一.网络拓扑 二.证书制作 还是将本系列目录贴出来,方便导航 实战:ADFS3.0单点登录系列-总览 实战:ADFS3.0单点登录系列-前置准备 实战:A ...

  5. 实战:ADFS3.0单点登录系列-ADFS3.0安装配置

    本文为系列第三章,主要讲下ADFS3.0的安装和配置.本文和前面的文章是一个系列,因此有些地方是有前后关联,比如本文中使用的通配符证书就是第二篇讲解的,因此需要连贯的进行阅读. 全文目录如下: 实战: ...

  6. cas sso单点登录系列4_cas-server登录页面自定义修改过程(jsp页面修改)

    转:http://blog.csdn.net/ae6623/article/details/8861065 SSO单点登录系列4:cas-server登录页面自定义修改过程,全新DIY. 目标:    ...

  7. Office 365实现单点登录系列(1)—域环境搭建

    Hello 小伙伴们, 2018新年快乐,作为2018年首篇文章,怎么能不给大家带来点干货呢?这篇文章其实我9月底的时候已经在MSDN上发布过了,为表诚意,我更新了这篇文章,并把它组成了一个系列,2. ...

  8. SSO单点登录系列4:cas-server登录页面自定义修改过程(jsp页面修改)

    落雨 cas 单点登录 SSO单点登录系列4:cas-server登录页面自定义修改过程,全新DIY. 目标:    下面是正文: 打开cas的默认首页,映入眼帘的是满眼的中文and英文混杂体,作为一 ...

  9. Office 365实现单点登录系列(5)—配置单点登录

    这是单点登录系列的最后一篇文章,前面4篇文章其实都是在为这篇文章的内容做准备,我把这四篇文章的链接放在下面,如果大家有需要,可以参考我以下的链接: Office 365实现单点登录系列(1)—域环境搭 ...

随机推荐

  1. win7 失去焦点解决方案

    将HKEY_CURRENT_USER\Control Panel\Desktop中的ForegroundLockTimeout的选项,改成十进制的200000毫秒或者十六进制30d40. 参考链接: ...

  2. PHP中的继承

    <?php class Bar { private $salary = 3000; public $lunch = 1000; // php中关于“可见性”的概念 public function ...

  3. go语言web开发框架_Iris框架讲解(五)MVC包使用

    在Iris框架中,封装了mvc包作为对mvc架构的支持,方便开发者遵循mvc的开发原则进行开发. iris框架支持请求数据.模型.持久数据分层处理,并支持各层级模块代码绑定执行. MVC即:model ...

  4. 魔卡少女(cardcaptor)——线段树

    题目 [题目描述] 君君是中山大学的四年级学生.有一天在家不小心开启了放置在爸爸书房中的一本古书.于是,君君把放在书中最上面的一张牌拿出来观摩了一下,突然掀起一阵大风把书中的其她所有牌吹散到各地.这时 ...

  5. 浅析localstorage、sessionstorage

    原文链接:http://caibaojian.com/localstorage-sessionstorage.html 简介 html5 中的 web Storage 包括了两种存储方式:sessio ...

  6. Objective-C的Runtime System

    [0] Outline --  [1] 版本和平台 --  [2] 与Runtime System交互 --  [3] 方法的动态决议 --  [4] 消息转发 --  [5] 类型编码 --  [6 ...

  7. ELK系列(5) - Logstash怎么分割字符串并添加新的字段到Elasticsearch

    问题 有时候我们想要在Logstash里对收集到的日志等信息进行分割,并且将分割后的字符作为新的字符来index到Elasticsearch里.假定需求如下: Logstash收集到的日志字段mess ...

  8. 消息中间件 | 消息协议 | AMQP -- 《分布式 消息中间件实践》笔记

    04年,AMQP开放标准被开发 06年,AMQP规范被发布   基本概念     Message:与平台无相关的数据.     Publisher:向交换器发布消息的客户端应用程序     Excha ...

  9. 点击对应的a标签返回相应的第几个

    面试中遇到的问题,前两天一直没有解决,今天想想还是得要想办法才行,其实仔细想的话很简单,惭愧啊,面试的时候没有做出来! 题目是这样的,如果一个body中有5个a标签,当我们点击对应的a标签时,aler ...

  10. (反NIM)

    题目大意是和普通的NIM游戏一样,但是却是取到最后一个是输的,天真的以为就是反过来,其实并不是这样的 结论 先手必胜的条件为 ①:所有堆的石子数均=1,且有偶数堆. ②:至少有一个堆的石子数>1 ...