SharePoint 2016第二个站点配置ADFS遇证书及信任页面问题求助
一、解决“Certificate Already exists”错误
当为第二个站点创建新的身份令牌颁发者时,签名证书已被第一个站点导入到SharePoint的受信任根权限中,使用-ImportTrustCertificate会触发重复导入错误,需改用已存在的证书实体:
- 获取已导入的ADFS签名证书:
# 通过证书指纹或名称过滤,替换为你的证书信息 $existingCert = Get-SPTrustedRootAuthority | Where-Object {$_.Certificate.Thumbprint -eq "你的证书指纹"}
- 修改
New-SPTrustedIdentityTokenIssuer命令,使用-TrustCertificate参数引用已存在的证书:
$signingCert = $existingCert.Certificate New-SPTrustedIdentityTokenIssuer -Name "TrustedFacilitiesSite.adfs" -Description "TrustedFacilitiesSite.adfs" -Realm $realm -TrustCertificate $signingCert -ClaimsMappings $email, $role -SignInUrl $signinurl -IdentifierClaim $email.InputClaimType
二、解决循环跳转与_trust文件夹缺失问题
1. 验证Web应用区域与身份提供商的关联
确保目标站点的Web应用区域已正确关联对应的身份令牌颁发者:
$webApp = Get-SPWebApplication "https://facilitiesuat.engro.com" # 若使用新创建的颁发者替换为对应名称,复用第一个则用第一个的名称 $trustedIssuer = Get-SPTrustedIdentityTokenIssuer "TrustedFacilitiesSite.adfs" $webApp.Zones["Default"].TrustedIdentityTokenIssuers.Add($trustedIssuer) $webApp.Update()
2. 检查ADFS信赖方信任配置
- 确认ADFS的信赖方信任中已添加第二个站点的Realm(URN)和回复URL:
https://facilitiesuat.engro.com/_trust/(必须包含_trust路径) - 验证颁发转换规则中已配置所需声明(邮箱、角色),且输出声明类型与SharePoint的
ClaimsMappings完全匹配
3. 修复循环跳转与路径问题
- 清除SharePoint配置缓存:停止SharePoint Timer Service,删除服务器上
C:\ProgramData\Microsoft\SharePoint\Config\下的所有.ini文件,重启Timer Service - 重新配置Web应用全局资源:运行以下命令强制刷新Web应用的身份验证相关路径:
$webApp = Get-SPWebApplication "https://facilitiesuat.engro.com" $webApp.ProvisionGlobally()
- 验证声明映射正确性:确保
IdentifierClaim指定的声明类型(如http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress)与ADFS发送的声明一致
内容的提问来源于stack exchange,提问作者Alina Anjum
相关产品推荐
相关产品推荐

