在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更改为正确的值。
答案 0 :(得分:4)
为不同的环境提供不同的Web.config文件,这可能是正确的方法。看看Web.config transformations。 此MSDN article显示了如何配置分段配置。
答案 1 :(得分:2)
如果您要根据环境获得有条件的web.config文件,它将寻找什么?机器名称? IP地址?有条件选择合适的条件可能会变得混乱而难以维持。
最简单的方法是为每个环境配置两个或更多配置文件。您可能需要稍后添加到配置文件中的mor标签,这些标签特定于环境。拥有单独的配置文件可帮助您管理这些更改。确保对它们进行适当的命名,例如production.config uat.config等,并在将它们移动到其他环境时将它们重命名为web.config。