2011-02-03 20 views
0

asp.net Webサイトのweb.configファイルを設定して、HTTPS経由でサイトにアクセスするユーザーに異なる設定を使用することはできますか?httpとhttpsの異なるweb.config設定

(例えば。私は、HTTPSがfalseに設定されたアクセスのためのvalidateRequest属性を持っている必要がありますが、内部アクセスのために(... trueに設定)HTTPを使用して)

感謝を!

+0

のポイントは何ですかhttpとhttpsで同じサイトを提供していますか?内部と外部の両方でhttpsを使用するのはなぜですか? –

答えて

0

Web.configファイル内の無効化要求の検証:

<system.web> 
    <pages validateRequest="false"/> 
</system.web> 

そして、Global.asaxファイル内に、の線に沿ってBeginRequestイベントのイベントハンドラを追加します。

public class Global : HttpApplication 
{ 
    public override Init() 
    { 
     base.Init(); 
     BeginRequest += ToggleValidation; 
    } 

    void ToggleValidation(object sender, EventArgs e) 
    { 
     if (Request.IsSecureConnection) 
      Request.ValidateInput(); 
    } 
} 
+0

ありがとうございました! – Nathan

1

セキュリティ上の理由から、内部サイトと外部サイトを別々のサイトにまとめて展開することをおすすめします。つまり、Windows認証を内部的に使用し、外部で認証を行い、必要な設定を変更することができます。また、内部のユーザーだけを対象としたメソッドへのアクセスを提供しないことで、外部の悪意のある人の攻撃対象を制限することもできます。

+0

私は同意します。ネットワークレベルで内部と外部を識別する能力がある場合は、それを行います。サイトを2つに分割し、それらの間に共通のライブラリを用意して、コードの重複を減らしてください。あなたの質問に答えて、いいえ、あなたはweb.configを1つのサイトに置くことはできません。なぜなら、すべての変更でアプリケーションが再起動されるからです。 – Hawxby

関連する問題