2017-09-21 53 views
0

私のASP.net WebアプリケーションでADFS認証を実装しようとしています。私は、私のWebアプリケーションがadfs認証を使用するように設定しており、また、信頼する当事者信頼をadfsに設定しています。 Webアプリケーションをブラウズすると、ブラウザはadfsログインページにリダイレクトされます。ログインの詳細を提出すると、adfsからのエラーページが表示されます。私はADFSについて多くの知識を持っていません。 ADFSによってログに記録された エラーは以下の通りです:System.ArgumentOutOfRangeException:有効なWin32 FileTimeではありません

Exception details: 
Microsoft.IdentityServer.RequestFailedException: MSIS7012: An error occurred while processing the request. Contact your administrator for 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) 
    at Microsoft.IdentityServer.Service.Tokens.MSISWindowsUserNameSecurityTokenHandler.ValidateTokenInternal(SecurityToken token) 
    at Microsoft.IdentityServer.Service.Tokens.MSISWindowsUserNameSecurityTokenHandler.ValidateToken(SecurityToken token) 
    at Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.GetEffectivePrincipal(SecurityTokenElement securityTokenElement, SecurityTokenHandlerCollection securityTokenHandlerCollection) 
    at Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken request, IList`1& identityClaimSet) 
    at Microsoft.IdentityServer.Web.Protocols.PassiveProtocolHandler.SubmitRequest(MSISRequestSecurityToken request, IList`1& identityClaimCollection) 
    at Microsoft.IdentityServer.Web.Protocols.PassiveProtocolHandler.RequestBearerToken(MSISRequestSecurityToken signInRequest, Uri& replyTo, IList`1& identityClaimCollection) 
    at Microsoft.IdentityServer.Web.Protocols.PassiveProtocolHandler.RequestSingleSingOnToken(ProtocolContext context, SecurityToken securityToken, SecurityToken deviceSecurityToken) 
    at Microsoft.IdentityServer.Web.Protocols.WSFederation.WSFederationProtocolHandler.BuildSsoSecurityToken(WSFederationSignInContext context, SecurityToken securityToken, SecurityToken deviceSecurityToken, SecurityToken& ssoSecurityToken) 
    at Microsoft.IdentityServer.Web.Protocols.WSFederation.WSFederationProtocolHandler.BuildSignInResponseCoreWithSecurityToken(WSFederationSignInContext context, SecurityToken securityToken, SecurityToken deviceSecurityToken) 
    at Microsoft.IdentityServer.Web.Protocols.WSFederation.WSFederationProtocolHandler.BuildSignInResponse(WSFederationSignInContext federationPassiveContext, SecurityToken securityToken, SecurityToken deviceSecurityToken) 
    --- End of inner exception stack trace --- 
    at Microsoft.IdentityServer.Web.Protocols.WSFederation.WSFederationProtocolHandler.BuildSignInResponse(WSFederationSignInContext federationPassiveContext, SecurityToken securityToken, SecurityToken deviceSecurityToken) 
    at Microsoft.IdentityServer.Web.Protocols.WSFederation.WSFederationProtocolHandler.Process(ProtocolContext context) 
    at Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest(ProtocolContext protocolContext, PassiveProtocolHandler protocolHandler) 
    at Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context) 

助けてください。

+0

私はMicrosoft Edgeブラウザを使用してWebアプリケーションをブラウズしていました。 Google ChromeとInternet Explorerでは、Webアプリケーションは問題なく正常に動作しています。だから私はEdgeが認証の詳細を提出している間に間違ったデータを投稿していると思う。 – dkthedon

答えて

-1

AD FSセットアップで次のGPO値が正しく初期化されず、デフォルトのが指定されていませんが機能していません。

値がないと、ADFSはActive Directoryと安全に通信できなくなります。奇妙なことは、一部のADFS呼び出しが成功したことです。最新のMicrosoft.Owin Katanaパッケージは、この設定をしていないと私のサーバーで上記のように失敗しました。

ネットワークセキュリティ: - 実行 - mmc.exeを

  • ファイル暗号化タイプを設定しケルベロスに許さ 下GPO_name \コンピュータの構成\ Windowsの設定\セキュリティの設定\ローカルポリシーは、セキュリティオプション

    1. スタートを\します - ローカルコンピュータポリシーのスナップインを追加する
    2. 上記のパスに移動します。
    3. 利用可能なすべてのオプションを選択します。

    enter image description here 次の記事では、私はこの問題を解決する助け: Network security: Configure encryption types allowed for Kerberos

    その後、FSサーバーが私のために、この問題を解決しADを再起動し、すべての暗号化の種類を選択します。

  • +1

    このリンクは質問に答えるかもしれませんが、回答の重要な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューから](/レビュー/低品質の投稿/ 17806764) –

    関連する問題