MVCビューを開発環境でのみ使用可能に制限し、他の環境からアクセスできないようにするための最良の方法は何ですか。
これは、サイトが開発者環境の外部で実行されている場合にユーザーにアクセスさせたくないテストページです。IISでローカルにホストされるか、VisualStudioの組み込みWebサーバーを使用してホストされます
MVCビューを開発環境でのみ使用可能に制限し、他の環境からアクセスできないようにするための最良の方法は何ですか。
これは、サイトが開発者環境の外部で実行されている場合にユーザーにアクセスさせたくないテストページです。IISでローカルにホストされるか、VisualStudioの組み込みWebサーバーを使用してホストされます
現在のWebサーバーがVisualStudio開発サーバーであるかどうかを確認できます。
public static bool IsDevWebServer()
{
return HttpContext.Current.Request.ServerVariables["SERVER_SOFTWARE"] == null || HttpContext.Current.Request.ServerVariables["SERVER_SOFTWARE"] == string.Empty;
}
すでにweb.config変換を使用していて(使用しない場合)、appSettingsで値を設定している場合は、ローカルIISでそのテストページが必要であることに気づきませんでした。次に例を示します。
<add key="DevEnv" value="True" />
次に、それをリリースWeb構成用に変換し、falseに設定します。
<add key="DevEnv" value="False" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
そのページへのリダイレクトを「http://localhost/path/file.aspx」に設定するだけです
彼らがページにアクセスしようとすると、エラーがスローされるはずです。そのエラーをスローしたくない場合は、テスト環境の外部でアクセスしようとしたときに、別のページにリダイレクトすることができます。