我有一个已经开发了大约一个月的Spring SAML项目。 我已经集成了ADFS,一切都运行良好。 我得到了一个间歇性的错误,因为我不得不等待它似乎决定再次开始工作。 现在它比正常显示更多的错误。 在使用任意数量的testingAD帐户进行login后,我看到此错误。
错误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断言的configuration是正确的。 当我没有得到这个错误时,至less他们有90%的时间工作。
我所尝试的是失败,但没有帮助
到现在为止,它每隔几个小时就会工作几分钟,然后再rest一段时间。
我真的难住,任何build议,以解决这个问题的方法将不胜感激。
更新我不能本地login到ADFS,这进一步表明,这不是服务提供商的问题,而是ADFS / AD本身。
基于Windowspipe理员的build议,我做了以下解决了这个问题。
此时,错误只发生在AD用户的一个子集中。 在这些用户身上,我重置了他们的密码,然后解决了这个问题。
虽然我不完全确定为什么这开始发生或者这些步骤如何解决它,我的理论是,不使用一个服务帐户来pipe理所有这些文件导致写入的文件不能被运行在不同帐户下的进程读入。
希望这有助于某人。
更新:
错误的另一个可能的原因是如果您将Active Directory中的UPN更改为包含空格的string,则会显示此错误。