WebアプリケーションをAppPool User(Domain \ UserForApp)として完全に実行しようとしています。IISの設定を正しく設定していて、すべてが正常に動作し、 "System.Security.Principal.WindowsIdentity.GetCurrent()。Name"正しい "Domain \ UserForApp"を返します。しかしIIS 7で偽装を使用しないようにするにはどうすればよいですか?
、私が必要と裸の骨に私のWebアプリケーション・ディレクトリの権限を制限しようとした:
- SYSTEM(フルアクセス)
- ミー(フルアクセス)
- Admininstrators(フルアクセス私はもはや静的ファイルを読み込むことができなかった
)
ACCESS DENIED:
Desired Access: Generic Read
Disposition: Open
Options: Sequential Access, No Buffering
Attributes: RE
ShareMode: Read, Write, Delete
AllocationSize: n/a
Impersonating: NT AUTHORITY\IUSR
そして、あなたは上記のIUSRから見るようには権限がありません。だから私は理由を見つけるためにプロセスモニタをダウンロードし、それが静的なファイルにアクセスしようとするたびに、私は次のエラーを取得しますとにかく偽装しようとしている理由を理解できていない。私のweb.configファイルで私が持っている:
<location path="" overrideMode="Deny">
<system.web>
<identity impersonate="false" />
</system.web>
</location>
だけで誰も偽装をオンにしていないが、それは効果がなかったことを確実にするために。
クラシックモードとパイプラインモードの両方では機能しませんが、エラーは少し異なります。従来の画像では、HTTP Error 401.3 - Unauthorized
ページが表示され、Pipelinedを使用するとログインサイトにリダイレクトされます。あなたがアプリケーションプールのIDとして実行するようにサイトをwan't場合
これはそれでした。私は結局これを見つけたが、それは単なる回避策だと思った。私にそれを確認していただきありがとうございます。 –