IIS 7: 特定のクライアント IP の認証を無効にする

IIS 7: 特定のクライアント IP の認証を無効にする

基本認証で保護された仮想ディレクトリがあります。特定の IP の認証を無効にして、たとえば 127.0.0.1 からのすべてのリクエストが資格情報を求めずに許可されるようにしたいと思います。どうすればいいですか?

答え1

これを実現するための組み込みの方法を見つけることができませんでした。結局、IISモジュールを使用してMicrosoftの指示

モジュールはクライアントの IP アドレスをチェックし ( を使用HttpRequest.UserHostAddress)、それが除外リストにない場合は、Windows アカウントの標準基本認証を再実装します ( LogonUserAPI を使用し、HttpContext.Userに設定しますWindowsPrincipal)。認証ドメインと除外 IP アドレスのリストは、 から読み取られますweb.config( を使用ConfigurationManager.AppSettings)。

障害には次のようなものがありました:

  • サーバー自体を除外したかったので、127.0.0.1サーバーの IP アドレスを除外リストに追加しましたが、::1(IPv6 localhost) も追加する必要がありました。
  • 私は hgweb へのアクセスを保護するためにこれを使用していますが、何らかの理由で、プラグインを有効にした後、hgrcallow_push行のエントリを から にusername変更する必要がありました。DOMAIN\username

関連情報