2017-07-27 13 views
1

私はこの問題をしばらく前から追いかけてきましたが、私はその問題の底に到達できません。私はここで他のソリューション(https://identityserver4.readthedocs.iohttps://github.com/IdentityServer/IdentityServer4.Quickstart.UI)を読んできましたが、まだ動作していないので、これを絶対的な基本にまで減らそうとしました。これは、私が直面している実際の問題ではありませんが、全く同じ結果をもたらします。つまり、私はWindows認証を動作させることができません。IdentityServer4とWindows認証

  1. 私はWindowsAuthenticationEnabledhttp://localhost:5000/account/login私はその後、後藤true
  2. であり、Windows外部プロバイダを使用しようとすると、私は401

にとの唯一の違いを得るように、私はQuickstarts/7_JavaScriptClient/src/QuickstartIdentityServer/Quickstart/Account/AccountController.csを改正https://github.com/IdentityServer/IdentityServer4.Samples

  • のクローンを作成しますここのシンプルなサンプルと私の実際のシステムで見られるのは、私が実際のサイトで資格情報に挑戦しているということです。

    コードをデバッグすると、if(HttpContext.User is WindowsPrincipal)が表示されることはありません。なぜなら、常にClaimsPrincipalであるからです。

    誰かが私に間違っていることを説明することはできますか?

  • 答えて

    2

    IISサイトでWindows認証を有効にしていますか? WindowsPrincipalを割り当てるには、これを有効にする必要があります。 Windows認証は、IISまたはIIS Expressの背後で動作する場合にのみ機能することに注意してください。

    +0

    はい、Windows認証はIISで有効です。私はUseIISIntegrationでKestrelを稼働させているので、IISが逆プロキシとして動作していると推測しています。 –

    +0

    IISまたはIIS Express?サイトまたはサーバーで有効になっていますか?私はHttpContext.UserはWindowsPrincipalがうまく動作するので尋ねるので、これは環境問題の可能性が最も高いです。 –

    +1

    うわー...私はサイトとアプリケーションのWindows認証を有効にしましたが、サーバー用に有効にしたときにすべてが有効になりました。ありがとう。 –