これは、現在ログインしている Windows ユーザーを偽装できないという以前の投稿の続きです。いい案が多かったのですが、前スレがぐちゃぐちゃになってきたので、今回の投稿をもってリセットします。以下に記載されている現在の状態で、問題が何であるかが明らかになることを願っています。これは使い古されたパスなので、欠けているのは小さな構成ステップだけだと信じなければなりません。
問題: 現在ログインしているユーザーを ASP.NET に偽装させる必要があります。IIS 7.5 で実行すると、動作しません。IIS Express は正常に動作しますが、これはデバッグ セッションが私のユーザー ID で実行されているためだと思います。
Environment.Username
このユーザーが誰であるかを判断するために使用しています。このプロパティは常にログインしているユーザー名を返すという提案がありましたが、私のテストでは、IIS から偽装されたユーザーを返します。
たとえば、私の web.config が…</p>
<identity impersonate="true" />
その設定で IIS 7.5 で実行すると、IUSREnvironment.Username
が返されます。これは IIS 匿名ユーザー アカウントだと思います。
web.config を次のように変更すると…</p>
<identity impersonate="true" userName="domain\jlivermore" password="mypassword" />
…その後、Environment.Username は jlivemore を返します。ただし、web.configで明示的に設定せずにjlivermoreを返す必要があります。
これが私のIIS設定です...</p>
.NET 承認規則
認証
1 つ質問があります。匿名認証を無効にすると、サイトにログインするように求められます。ドメインの Active Directory アカウントでログインしている場合、このチャレンジは表示されないと思いましたか? このプロンプトにユーザー名/パスワードを入力しても、なりすましが機能しません。
基本設定