AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 782270
Accepted
blur0224
blur0224
Asked: 2016-06-07 08:31:58 +0800 CST2016-06-07 08:31:58 +0800 CST 2016-06-07 08:31:58 +0800 CST

SAML 服务提供商登录时出现 ADFS 错误

  • 772

我有一个已经开发了大约一个月的 Spring SAML 项目。我已与 ADFS 集成,一切运行良好。我遇到了一个间歇性错误,该错误正在成为问题,因为我必须等待它似乎决定重新开始工作。它现在显示错误的频率超过了它的工作频率。使用任意数量的测试 AD 帐户登录后,我看到此错误。

事件日志中的错误 ID 111

The Federation Service encountered an error while processing the WS-Trust request. 
Request type: http://schemas.microsoft.com/idfx/requesttype/issue 

Additional Data 
Exception details: 
System.ArgumentOutOfRangeException: Not a valid Win32 FileTime.
Parameter name: fileTime
   at System.DateTime.FromFileTimeUtc(Int64 fileTime)
   at Microsoft.IdentityServer.Service.Tokens.LsaLogonUserHelper.GetPasswordExpiryDetails(SafeLsaReturnBufferHandle profileHandle, DateTime& nextPasswordChange, DateTime& lastPasswordChange)....

ADFS 事件日志中的错误 364

Encountered error during federation passive request. 

Additional Data 

Protocol Name: 
Saml 

Relying Party: 
https://localhost:8443/elsso/saml/metadata/alias/serviceprovider

Exception details: 
System.ArgumentOutOfRangeException: Not a valid Win32 FileTime.
Parameter name: fileTime
   at System.DateTime.FromFileTimeUtc(Int64 fileTime)
   at Microsoft.IdentityServer.Service.Tokens.LsaLogonUserHelper.GetPasswordExpiryDetails(SafeLsaReturnBufferHandle profileHandle, DateTime& nextPasswordChange, DateTime& lastPasswordChange)
   at Microsoft.IdentityServer.Service.Tokens.LsaLogonUserHelper.GetLsaLogonUserInfo(SafeHGlobalHandle pLogonInfo, Int32 logonInfoSize, DateTime& nextPasswordChange, DateTime& lastPasswordChange, String authenticationType, String issuerName)
   at Microsoft.IdentityServer.Service.Tokens.LsaLogonUserHelper.GetLsaLogonUser(UserNameSecurityToken token, DateTime& nextPasswordChange, DateTime& lastPasswordChange, String issuerName)....

服务提供者、AD、ADFS、证书和 SAML 断言的配置是正确的。当我没有收到此错误时,至少它们 90% 的时间都在工作。

我在失败时尝试过的方法没有帮助

  1. 重新启动 ADFS 服务和虚拟服务器
  2. 同步代理服务器时间(不确定这到底是什么意思,找到了一个 MS 文档,建议它针对错误类型 111 和 364)在 powershell w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:manual /update
  3. 与此相关的两篇 StackOverflow 文章显示了断言元数据中的错误,并且不支持 SHA-256。我已经验证了我的元数据并且正在使用 SHA-1。
  4. 我在任何 Microsoft 支持站点上都找不到与此问题直接相关的任何文章,但是,我是处理此类问题的新手,可能只是不知道去哪里找。

截至目前,它每隔几个小时工作几分钟,然后在其余时间失败。

我真的很难过,任何有关解决此问题的方法的建议将不胜感激。

更新 我无法以本机方式登录 ADFS,这进一步表明这不是服务提供商的问题,而是 ADFS/AD 本身的问题。

active-directory single-sign-on windows-server-2012-r2 adfs saml
  • 1 1 个回答
  • 4615 Views

1 个回答

  • Voted
  1. Best Answer
    blur0224
    2016-06-08T08:01:22+08:002016-06-08T08:01:22+08:00

    根据 Windows 管理员的建议,我做了以下解决问题的方法。

    1. 确保 W32Time 服务正在使用 NTP(不是)
    2. 确保已安装所有更新(它们是)
    3. 确保所有服务都在服务帐户下运行,而不是域控制器帐户(它们不是)
    4. 确保 ADFS 在服务帐户下运行后,重新创建服务提供程序

    此时,该错误仅发生在一部分 AD 用户身上。在这些用户上,我重置了他们的密码,然后解决了这个问题。

    尽管我不完全确定为什么会发生这种情况或这些步骤如何解决它,但我的理论是,不使用一个服务帐户来管理所有这些会导致写入的文件无法被在不同帐户下运行的进程读取.

    希望这可以帮助某人。

    更新:

    另一个可能的错误原因是,如果您将 Active Directory 中的 UPN 更改为包含空格的字符串,则会显示此错误。

    第二次更新:

    使用无效域也可能导致此错误。

    • 1

相关问题

  • 如果以域用户身份远程登录,PC 速度极慢

  • 如何在 Windows 2003 的 ou 级别应用策略

  • 允许用户更改其 Active Directory 密码的 Web 界面

  • MOSS 2007 无法使用 ActiveDirectoryMembershipProvider 配置表单身份验证

  • 通过 VPN 更改 Active Directory 密码

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve