ログインしているユーザーを識別するためにローカルイントラネットWindows認証と連携するASP.NET Core 3.0アプリケーションがあります。標準のWindows認証動作を使用して、ユーザーのWindowsIdentity
問題を問題なくキャプチャできます。
ただし、ユーザーがイントラネットブラウザーの自動ログイン(つまり、パスワードダイアログなし)を使用してブラウザーにログインする方法、またはブラウザーの[パスワード]ダイアログボックスを使用して明示的にログインする方法に応じて、ユーザーのグループに異なる結果が表示されます。
以下は、フィルタリングされたグループメンバーシップリスト(組み込みアカウントを除く)を含むユーザー情報をエコーバックするAPIリクエストです。左側は手動ログイン、右側は自動ログインです。
明示的なログインでは、ユーザーが所属するすべてのカスタムグループが正しく表示されます。ただし、自動ログインの場合、これらの同じグループは表示されません。
また、サーバーのUserインスタンスとIdentityインスタンスを詳しく調べたところ、ユーザーのまったく同じSIDを参照しているため、グループメンバーシップに対して異なる結果が返されるのは奇妙に思われます。
同じアカウントが返されたときにグループリストが異なる理由はありますか?グループはローカルであるため、ドメインアクセスによる問題ではないことに注意してください。
注:ローカルホストでもローカルでテストしています。これをテストするために、ここでWindowsプロキシ設定を設定します。
チェックボックスをオフにすると、ログインする必要があります。それらをオンにして(とにかくChromiumブラウザーで)、ブラウザーのログインダイアログに自分の資格情報を明示的に入力する必要があります。