ASP.Netアプリにページがあり(実際にはMvcですが重要ではありません)、ローカルマシンからこのページへの接続のみを許可したいと思います。 Web.configで次のようなことをしたいと思います。
<location path="resources">
<system.web>
<authorization>
<allow ips="local"/>
</authorization>
</system.web>
</location>
これは、ページコードビハインド(またはコントローラー)の簡単なチェックで可能であることを知っています IIS構成 でも可能ですが、Web.configが大好きですこれが私の意見では最もエレガントな解決策になるので、config。これが可能かどうか誰か知っていますか?
IISに、Web.config内からIPアドレスによってリソースへのアクセスを制限するように依頼できます。
<location path="resources">
<system.webServer>
<security>
<ipSecurity allowUnlisted="false">
<clear/>
<add ipAddress="127.0.0.1"/>
</ipSecurity>
</security>
</system.webServer>
</location>
編集:マイクが以下のコメントで指摘したように、これにはIPおよびドメイン制限モジュールがインストールされている必要があります。ありがとうマイク!
これはあなたが求めていたものではありませんが、ユーザーを指定することができますofローカルマシン。承認したいユーザーの数が少ない場合を除いて、これが実用的であるとは想像できません。
<location path="resources">
<system.web>
<authorization>
<allow users="LOCALMACHINENAME\UsernameOfTrustedUser"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
リモートクライアントはホスト名を解決できません。
実際には外部要求に応答しない仮想ネットワークアダプターに関連付けられた専用IPアドレスを使用して、より安全にすることができます。
IPアドレスの範囲を指定したい場合は、これも役立つことがわかりました。次のコードブロックをweb.configに追加できます
<system.webServer>
<security>
<ipSecurity allowUnlisted="false">
<clear/>
<add ipAddress="95.110.115.0" subnetMask="255.255.255.0"/>
<!--blocks range 95.110.115.0 to 95.110.115.255-->
<add ipAddress="95.110.0.0" subnetMask="255.255.0.0"/>
<!--blocks range 95.110.0.0 to 95.110.255.255-->
<add ipAddress="95.0.0.0" subnetMask="255.0.0.0"/>
<!--blocks range 95.0.0.0 to 95.255.255.255-->
</ipSecurity>
</security>
</system.webServer>
Web.configの一部となる独自の構成セクションを作成し、その設定を使用してglobal.asaxSession_Startの動作を制御できます。