2

私は現在、Windows認証を使用してログインするユーザーを含むASP.NETアプリケーションに取り組んでいます。これにより、HTTPContext.UserとThread.Principalの両方が、予想される動作が期待されるユーザーロギングと同じクレデンシャルで設定され、WindowsIdentityはIIS.NETAppPoolユーザーのままになります。

最近、アプリケーションログで、WindowsIdentityがIISユーザーとして開始され、最終的にログインしているユーザーに昇格される1つの要求(通常はページの読み込み時に5番目の要求)があるように見えることに気付きました。

これは、ユーザーがルートパス(たとえばhttp:// localhost /)にアクセスしているときにのみ発生しているように見えます。http://localhost/index.aspxなどの他の正確なパスを指定した場合、この要求は発生していないように見え、WindowsIdentityは変更されません。

(かなり大きな)コードベースを見ると、WindowsIdentityを偽装するメソッドは1つしか見つかりませんが、そのメソッドは、特定のページの特定の状況を除いて呼び出されません。

なぜこれが発生するのか、IISが単独で実行する理由があるのか​​どうか疑問に思いました。

4

1 に答える 1

1

私の場合、root(http:// localhost)アクセスは管理者ユーザー専用だと思うので、管理者ユーザーかどうかを確認しています。管理者ユーザー?

于 2012-02-17T12:20:45.247 に答える