2

在 IIS 7.5 web.config 中,我们可以为各种路径/文件夹设置授权,如下所示:

<location path="logs/elmah/elmah.axd">
    <system.web>
      <authorization>
        <allow users="bob@example.com" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>

是否可以使此授权有条件?例如,仅当它是实时服务器时才使用此位置,而不是本地或登台或测试版或其他服务器?

我用它来指示当前服务器是什么:

<appSettings>
    <clear />
    <add key="DeploymentEnv" value="Debug" />
</appSettings>

然后 web.config 转换为将 DeploymentEnv 更改为正确的值。

4

2 回答 2

4

为不同的环境使用不同的 Web.config 文件可能是正确的方法。看看Web.config 转换。这篇MSDN 文章展示了如何配置暂存配置。

于 2012-07-02T23:37:39.600 回答
2

如果您要拥有依赖于环境的条件 web.config 文件,它将寻找什么?机器名称?IP地址?有条件选择合适的可能会变得混乱且难以维护。

最简单的方法是为每个环境拥有两个或更多配置文件。稍后您可能需要将特定于环境的 mor 标签添加到配置文件中。拥有单独的配置文件可以帮助您管理这些更改。确保正确命名它们,例如 production.config uat.config 等,当您将其移动到不同的环境时,只需将它们重命名为 web.config。

于 2012-07-02T23:16:03.590 回答