使用有管理员权限的帐号。
在 AD FS 服务器上,打开 Active Directory 联合身份验证服务 (AD FS) 管理控制台。
在导航窗格中展开“信任关系”,然后双击“信赖方信任”文件夹。
在右侧窗格中单击“添加信赖方信任”。这将打开 Active Directory 联合身份验证服务 (AD FS) 配置向导。
在“欢迎使用添加信赖方信任向导”页上,单击“启动”。
选择“手动输入有关信赖方的数据”,然后单击“下一步”。
键入信赖方名称,然后单击“下一步”。
选中AD FS 配置文件”,然后单击“下一步”。
不要使用加密证书。单击“下一步”。
单击以选中“启用 WS 联合身份验证被动协议”复选框。
在“WS 联合身份验证被动协议 URL”字段中,键入 Web 应用程序 URL 的名称,并追加 /_trust/(例如,https:// app1.contoso.com/_trust/)。单击“下一步”。
键入信赖方信任标识符的名称(例如,urn:sharepoint:contoso),然后单击“添加”。单击“下一步”。请注意,这将是您在阶段 3 中配置新的 SPTrustedIdentityTokenIssuer 时的领域值。
New-SPTrustedIdentityTokenIssuer 使用下面的:urn:sharepoint:pmp
选择“此时,我不想为此信赖方.......”
选择“允许所有用户访问此信赖方”。单击“下一步”。
在“已准备好添加信任”页上,无需执行任何操作,直接单击“下一步”。
在“完成”页上单击“关闭”。
这将打开“规则编辑器”管理控制台。使用此控制台和下一过程将声明的映射从所选的目录源配置到 SharePoint 2013。
使用此步骤中的过程将轻型目录访问协议 (LDAP) 属性的值作为声明进行发送,并指定属性将映射到传出声明类型的方式。
配置声明规则使用有管理员权限的帐号。
在“颁发转换规则”选项卡上,单击“添加规则”。
在“选择规则模板”页上,选择“将 LDAP 属性作为声明进行发送”。单击“下一步”。
在“配置规则”页上,在“声明规则名称”字段中键入声明规则的名称。
从“属性存储”下拉列表中选择“Active Directory”。
在“将 LDAP 属性映射到传出声明类型”部分的“LDAP 属性”下,选择“E-Mail-Addresses”。
在“传出声明类型”下,选择“电子邮件地址”。
在“LDAP 属性”下,选择“User-Principal-Name”。
在“传出声明类型”下,选择“UPN”。
单击“完成”,然后单击“确定”。下图内容从了仅供参考。
可使用本节中的过程导出您要用来建立信任关系的 AD FS 服务器的令牌签名证书,然后将该证书复制到 SharePoint 2013 能够访问的位置。
导出令牌签名证书在 AD FS 服务器上,打开 Active Directory 联合身份验证服务 (AD FS) 管理控制台。
在导航窗格中展开“服务”,然后单击“证书”文件夹。
在“令牌签名”下,单击“主要”列中指示的主要令牌证书。
在右侧窗格中单击“查看证书链接”。这将显示证书的属性。
单击“详细信息”选项卡。
单击“复制到文件”。这将启动“证书导出向导”。
在“欢迎使用证书导出向导”页上,单击“下一步”。
在“导出私钥”页上,单击“否,不要导出私钥”,然后单击“下一步”。
在“导出文件格式”页上,选择“DER 编码二进制 X.509 (.CER)”,然后单击“下一步”。
在“要导出的文件”页上,键入您要导出的文件的名称和位置,然后单击“下一步”。例如,输入 C:\ADFS.cer。
在“正在完成证书导出向导”页上,单击“完成”。
启动 SharePoint 2013 命令行管理程序。
对于 Windows Server 2008 R2:
在 SharePoint 2013 环境中,在“开始”菜单上,单击“所有程序”,单击“Microsoft SharePoint 2013 产品”,然后单击“SharePoint 2013 命令行管理程序”。
对于 Windows Server 2012:
在 SharePoint 2013 环境中,在“开始”屏幕上,单击“SharePoint 2013 命令行管理程序”。
如果“SharePoint 2013 命令行管理程序”不在“开始”屏幕上:
右键单击“计算机”,单击“所有应用程序”,然后单击“SharePoint 2013 命令行管理程序”。
从 Windows PowerShell 命令提示符处,导入令牌签名证书的父证书(即,根证书颁发机构证书),如以下语法中所示:
$root = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("")
New-SPTrustedRootAuthority -Name "Token Signing Cert Parent" -Certificate $root
从 Windows PowerShell 命令提示符处,导入从 AD FS 服务器复制的令牌签名证书,如以下语法中所示:
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("")
New-SPTrustedRootAuthority -Name "Token Signing Cert" -Certificate $cert
$root = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("D:\cer\SPADFS.cer")
New-SPTrustedRootAuthority -Name "Token Signing Cert Parent" -Certificate $root
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("D:\cer\SPADFS.cer")
New-SPTrustedRootAuthority -Name "Token Signing Cert" -Certificate $cert
$emailClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
$upnClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -IncomingClaimTypeDisplayName "UPN" -SameAsIncoming
$roleClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" -IncomingClaimTypeDisplayName "Role" -SameAsIncoming
$sidClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid" -IncomingClaimTypeDisplayName "SID" -SameAsIncoming
从 Windows PowerShell 命令提示符处,创建一个新的身份验证提供程序,如以下语法中所示。
$realm = "urn:sharepoint:" // 之前创建过的名称在这里使用 例如上方的信任方信任标识符urn:sharepoint:pmp
$signInURL = "https:///adfs/ls" //在ADFS服务器 服务--终结点。找到这个地址
$ap = New-SPTrustedIdentityTokenIssuer -Name "SPADFS" -Description "SPProvider" -realm $realm -ImportTrustCertificate $cert -ClaimsMappings $emailClaimMap,$upnClaimMap,$roleClaimMap,$sidClaimMap -SignInUrl $signInURL -IdentifierClaim $emailClaimmap.InputClaimType
// 注意: 这里的SPADFS 是你在sharepoint里的名字。如下图。信任的身份提供程序已经出现了“SPADFS”
Remove-SPTrustedIdentityTokenIssuer "LiveIDSTS" // SPADFS
下图的意思,再次创建的时候不让创建,说已经存在,那就删除他了。
在管理中心的主页上,单击“应用程序管理”。
在“应用程序管理”页上的“Web 应用程序”部分,单击“管理 Web 应用程序”。
单击适当的 Web 应用程序。
从功能区中单击“身份验证提供程序”。
在“区域”下单击区域的名称,例如 默认。
在“编辑验证”页上的“声明身份验证类型”部分,选择“信任的身份提供程序”,然后单击 SAML 提供程序的名称(New-SPTrustedIdentityTokenIssuer 命令中的
接下来,您必须为此 Web 应用程序启用 SSL。可以通过为“https://”版本的 Web 应用程序 URL 添加备用访问映射,然后在 Internet Information Services (IIS) 管理器控制台中为 https 绑定配置网站来完成此操作。有关如何为 IIS 设置 SSl 的详细信息,请参阅如何在 IIS 7.0 上设置 SSL。
Add-PSSnapin Microsoft.SharePoint.Powershell
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("D:\cer\ADFSTokenSigning.cer")
New-SPTrustedRootAuthority -Name "Token Signing Cert Parent" -Certificate $cert
$emailClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
$upnClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -IncomingClaimTypeDisplayName "UPN" -SameAsIncoming
$roleClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" -IncomingClaimTypeDisplayName "Role" -SameAsIncoming
$realm = "urn:sharepoint:pmp"
$signInURL = "https://sso.xxx.xxxx.com.cn/adfs/ls"
$ap = New-SPTrustedIdentityTokenIssuer -Name “ADFS” -Description “ADFS” -realm $realm -ImportTrustCertificate $cert -ClaimsMappings $emailClaimMap,$upnClaimMap,$roleClaimMap -SignInUrl $signInURL -IdentifierClaim $emailClaimmap.InputClaimType
$ap = Get-SPTrustedIdentityTokenIssuer adfs
$uri = "https://xxx.xxxx.com.cn"
$id = "urn:sharepoint:pmp"
$ap.ProviderRealms.Add($uri, $id)
$ap.update()
ADFS cookie expiration
Get-adfsrelyingpartytrust pmp2ps | set-adfsrelyingpartytrust –tokenlifetime 15
Sharepoint token expiration
$sts = Get-SPSecurityTokenServiceConfig
$sts.ApplicationTokenCacheExpirationWindow = (New-TimeSpan -Minutes 1)
$sts.update()
iisreset