活动目录登录问题

活动目录登录问题

以下是您在尝试配置活动目录认证时可能面临的一些错误信息/问题:

签名认证失败

如果您使用AD FS 2.0作为您的身份提供者,可能会有一个自动生成的新证书。您需要导出该证书,然后将其导入ServiceDesk Plus On-Demand,以解决此问题。请注意:由AD FS自动生成的自签名证书的有效期只有一年。因此,每年您都可能面临这个问题,需要导出新的证书并在ServiceDesk Plus On-Demand中配置它。

为了克服此问题,您可以把证书的有效期提高到100年,这样就不需要担心每年都要执行此步骤, 以下步骤将生成一个有效期为100年的新签名证书。

请按照以下步骤操作:
  1. 去到 AD FS系统
  2. 在管理模式下打开一个命令提示符
  3. 运行以下命令。
  4. powershell
  5. Add-PSSnapIn microsoft.adfs.powerhell
  6. Set-ADFSProperties -CertificateDuration 36500
  7. Set-ADFSProperties -AutoCertificateRollover $true
  8. 更新-ADFSCertificate -Urgent
  9. Set-ADFSProperties -AutoCertificateRollover $false
  10. 等待上述命令的完成,然后退出

导出新证书

  • 从管理工具转到AD FS 2.0管理
  • 在左边的树中点击证书
  • 在To/8ken签证下选择 "Primary "证书
  • 点击右键,去到查看证书页
  • 转到 "细节 "标签
  • 点击 "复制到文件"
  • 选择 "Base 64 Encoded X.509"
  • 转到下一步,给出一个文件名。(例如,C:\newCertificate.cer)
  • 完成该向导,新的证书现在将在C:\newCertificate.cer中

如果您使用任何其他身份提供者,请从您的身份提供者那里下载新的证书(Base-64 Encoded X509格式,扩展名为.cer)。

现在,使用组织管理证书登录到sdpondemand.manageengine.com。

  • 进入ESM目录-->SAML认证
  • 点击编辑
  • 浏览并给出新的证书
  • 现在您应该能够登录到我们的服务。

条件验证失败

请尝试以下步骤:

  1. 转到AD FS安装系统
  2. 在管理员模式下打开一个命令提示符
  3. 在提示符中输入以下命令:
    1. powershell
    2. 添加-PSSnapin microsoft.adfs.powershell
    3. 设置-ADFSRelyingPartyTrust -目标名称"zoho.com" -NotBeforeSkew 2
    4. 退出

上述命令将配置AD FS,以调整它在认证期间产生的时间戳。现在试试AD认证,您应该能够登录到我们的服务。

如果您在设置了上述Skew后仍然面临这个问题,请确保AD FS机器中的系统时间根据您的本地时区是正确的。即使系统时间与实际时间相差几分钟,也可能导致这种情况。

认证失败

请检查以下案例:

案例 1

AD FS系统中的联合服务名称必须与登录URL中的主机名一致。

例如,如果您在SDP On-Demand中配置的登录URL是https://abc.test.com/adfs/ls,那么AD FS中的联合服务名称必须是 "abc.test.com"。请确保AD FS中的联合服务名称与此相符。

要改变联合服务的名称,

  • 进入AD FS 2.0管理控制台。
  • 在左边的树上右击 "服务",点击 "编辑联合服务属性"。

更改联合服务名称后,重新启动AD FS 2.0 Windows服务并尝试认证一次。

如果您有AD FS代理:

在改变联合服务名称后,在AD FS代理系统的 "hosts "文件中增加一个条目。在hosts文件中,确保abc.test.com指向AD FS系统的IP地址。重新运行AD FS代理配置向导,然后尝试认证一次。

案例 2

在配置AD FS时,您必须提供您在SDP On-Demand的管理 --->组织信息--->域信息页面看到的经过验证的主域名。

您可以进入AD FS管理控制台,进入信赖方信任,右击 "zoho.com "并进入属性。在 "端点 "选项卡中,请检查URLs并验证它们是否以您验证过的主域结束。

例如,如果您验证的主域是example.com,那么URL必须是:https://accounts.zoho.com/samlresponse/example.com

如果您在登录时仍然面临问题,请进入AD FS系统的事件查看器,看看是否有错误事件。请把这些细节发给我们,我们会尽快给您答复。

案例 3

AD FS中的证书过期。

从Windows服务控制台重新启动AD FS服务,并检查事件日志中的证书过期信息。(在事件日志树中,导航到应用程序和服务日志 ---> AD FS 2.0 ---> 管理)。如果有与服务通信证书过期有关的错误信息,请按照以下微软文章中的指示来更改服务通信证书。

AD FS 2.0 : https://support.microsoft.com/en-us/kb/2921805

AD FS 3.0 : 请参考此处

案例 4

确保活动目录中包含用户账户的EMail地址,只有当 "邮件 "属性有价值时,用户才会被认证。

新用户必须在使用SAML之前注册

请确保

a) 试图登录的用户的电子邮件地址在Active Directory和SDP On-Demand中是相同的。

b) 该用户在SDP On-Demand中是作为请求人+或技术员出现的,并且他的登录被启用。

AD FS 2.0 : 无法在AD FS 2.0联合服务器配置向导中选择SSL证书

这可能是在IIS 7中没有启用SSL的情况下发生的。

请参考下面的文章,了解如何生成一个自签名的证书并在IIS上使用。一旦为443端口配置了证书,请退出并重新运行AD FS 2.0配置向导。这一次,您必须能够在配置向导中选择证书。

https://www.sslshopper.com/article-how-to-create-a-self-signed-certificate-in-iis-7.html

AD FS 2.0 : 集成/穿透式认证无法工作

Internet Explorer

请尝试以下

  1. 将AD FS登录网址添加到受信任网站(例如,"https://adfs.example.com "必须在受信任网站列表中),并尝试认证。
  2. 进入 "Internet选项"--->"高级 "选项卡,看看是否选择了 "启用集成Windows认证"。
  3. 进入Internet选项中的 "安全 "选项卡。检查AD FS URL所在的级别,例如 "内联网 "或 "受信任站点"。点击 "自定义级别",确保 "用当前用户名和密码自动登录 "被选中。

Firefox / Chrome

您可能会在Firefox/Chrome中反复出现登录凭证框。请尝试关闭IIS 7中的Extended Protection for Authentication(EPA)。

具体步骤请参考以下文章:http://social.technet.microsoft.com/wiki/contents/articles/1426.ad-fs-2-0-continuously-prompted-for-credentials-while-using-fiddler-web-debugger.aspx

设置后尝试认证一次。

AD FS 2.0 : 更改AD FS服务通讯证书

如果您已经从证书颁发机构购买了SSL证书,请按照以下链接中的步骤来更新AD FS 2.0服务通信证书。

https://support.microsoft.com/en-in/help/2921805/how-to-change-the-ad-fs-2-0-service-communications-certificate-after-i

AD FS 3.0 :集成/穿透式验证无法工作

  1. 转到有活动目录的机器上
  2. 运行 "adsiedit.msc"(如果没有显示AD对象,点击动作-->连接并连接到AD)。
  3. 找到被配置为AD FS服务 "登录 "账户的账户
  4. 在其上点击右键并进入属性
  5. 在属性列表中,确保 "servicePrincipalName "属性的值是http/ADFS_Service_Name。例如,如果您的联合服务名称是adfs.example.com,那么在 "servicePrincipalName "属性中添加 "http/adfs.example.com "的值。
  6. 重新启动AD FS服务,然后尝试认证

Internet Explorer

请尝试以下

  1. 将AD FS登录网址添加到受信任网站(例如,"https://adfs.example.com "必须在受信任网站列表中),并尝试认证。
  2. 进入 "Internet选项"--->"高级 "选项卡,看看是否选择了 "启用集成Windows认证"。
  3. 进入Internet选项中的 "安全 "选项卡。检查AD FS URL所在的级别,例如 "内联网 "或 "受信任站点"。点击 "自定义级别",确保 "用当前用户名和密码自动登录 "被选中。

Firefox / Chrome / Edge


您可能会在Firefox/Chrome/Edge中反复出现登录凭证框。以下文章建议采取一些步骤来克服这个问题。

设置后,请尝试认证一次。

AD FS 3.0 - HTTP 400 请求错误

  1. 转到有活动目录的机器上
  2. 运行 "adsiedit.msc"(如果没有显示AD对象,点击动作-->连接并连接到AD)。
  3. 找到被配置为AD FS服务 "登录 "账户的账户
  4. 在其上点击右键并进入属性
  5. 在属性列表中,确保 "servicePrincipalName "属性的值是http/ADFS_Service_Name。例如,如果您的联合服务名称是adfs.example.com,那么在 "servicePrincipalName "属性中添加 "http/adfs.example.com "的值。
  6. 重启 AD FS 服务,然后尝试认证

更多详情,请参考这里: https://samlman.wordpress.com/2015/03/02/400-bad-request-error-with-adfs/ 

设置后,请尝试认证一次。


AD FS 3.0 - 变更服务通信证书

 

以下是您需要进行的步骤:
  1. 在计算机账户下的AD FS机器中导入您的新证书(带私钥)。
  2. 运行mmc并添加证书快照
  3. 找到新证书并进入所有任务-->"管理私钥"。 添加在AD FS服务中被配置为登录账户的账户
  4. 进入AD FS管理,设置服务通信证书
  5. 打开powershell提示符,输入: Set-AdfsSslCertificate -Thumbprint the-thumbprint-of-your-certificate
  6. 重新启动AD FS服务,然后尝试认证一次

详细步骤请见此处: http://www.blackmanticore.com/332874ac9a2f5e7bc6c05d6aef42fd3f

活动目录中的用户名变更:AD FS仍然使用旧的用户信息

如果您改变了AD中的用户名,AD FS可能仍然使用旧的用户的详细信息。试着在AD FS机器上禁用本地缓存,然后再尝试认证。关于禁用缓存的更多细节可在这里找到:https://support.microsoft.com/en-us/kb/946358


重启AD FS服务后再进行一次认证。