Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 仅在本地主机上运行时授权目录_Asp.net - Fatal编程技术网

Asp.net 仅在本地主机上运行时授权目录

Asp.net 仅在本地主机上运行时授权目录,asp.net,Asp.net,我在web.config <location path="SomeDir/SomeSubDir"> <system.web> <authorization> <deny users="*"/> </authorization> </system.web> </location> 如何更改此设置,使

我在
web.config

<location path="SomeDir/SomeSubDir">
    <system.web>
        <authorization>
            <deny users="*"/>
        </authorization>
    </system.web>
</location>


如何更改此设置,使此规则仅在应用程序未在本地主机上运行时适用?有没有办法让规则检测环境?

我会从web.config中删除拒绝,并在页面加载事件中使用类似的内容

if(!HttpContext.Current.Request.IsLocal && !User.Identity.IsAuthenticated)
    Response.Redirect("Login.aspx");

配置转换将为您提供一个Web.Release.Config,当您使用发布设置发布时,它将转换您的Web.Config

如果您还没有转换文件,则需要右键单击Web.config文件,然后单击添加配置转换

这是MSDN

您的Web.Release.config文件如下所示:

<configuration xmlns:xdt="...">
    <location xdt:Locator="Match(path)" xdt:Transform="Remove" />
</configuration>

这将导致在执行发布时删除该位置元素