限制网页仅在开发环境中运行

时间:2012-05-30 20:54:36

标签: asp.net asp.net-mvc

将MVC视图限制为仅在开发环境中可用且不能从任何其他环境访问的最佳方法是什么。

这是一个测试页面,如果网站在开发人员环境之外运行,我不希望用户有权访问。在IIS下本地托管或使用Visual Studio内置Web服务器

2 个答案:

答案 0 :(得分:2)

<击> 您可以检查当前的Web服务器是否为Visual Studio开发服务器:

public static bool IsDevWebServer()
{
    return HttpContext.Current.Request.ServerVariables["SERVER_SOFTWARE"] == null || HttpContext.Current.Request.ServerVariables["SERVER_SOFTWARE"] == string.Empty;
}

<击>

如果您已经在使用web.config Transformations(如果不是您应该)并且在appSettings下设置了一些值,那么您没有注意到您希望在本地IIS下使用该测试页,例如:

<add key="DevEnv" value="True" />

然后将其转换为发布web配置并设置false:

<add key="DevEnv" value="False" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />

答案 1 :(得分:0)

只需将重定向设置为该页面为“http://localhost/path/file.aspx”

当他们尝试访问该页面时应该抛出错误。如果您不想抛出该错误,那么当他们尝试访问测试环境之外时,您可以将它们重定向到其他页面。