我的ASP.NET web.config中的自定义XML节点/标记?
我们在web应用程序中使用安全修整,因此需要以下节点:我的ASP.NET web.config中的自定义XML节点/标记?,asp.net,xml,tags,Asp.net,Xml,Tags,我们在web应用程序中使用安全修整,因此需要以下节点: <location path="admin/employees" xdt:Transform="Replace" xdt:Locator="Match(path)"> <system.web> <authorization> <allow roles="domain\role1,domain\role2"/> <de
<location path="admin/employees" xdt:Transform="Replace" xdt:Locator="Match(path)">
<system.web>
<authorization>
<allow roles="domain\role1,domain\role2"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="admin/whatever" xdt:Transform="Replace" xdt:Locator="Match(path)">
<system.web>
<authorization>
<allow roles="domain\role1,domain\role2"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
注意,我们也进行转换。由于角色因我们拥有的各种环境(开发、登台和生产)而异,因此在所有三种配置中实现转换非常繁琐
我想做的是将所有位置节点封装到父节点中,可能称为
。这样,我就可以在locations节点上实现转换,而不是像这样在每个location节点上实现转换:
<locations xdt:Transform="Replace">
<location path="admin/employees">
<system.web>
<authorization>
<allow roles="domain\role1,domain\role2"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="admin/whatever">
<system.web>
<authorization>
<allow roles="domain\role1,domain\role2"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
</locations>
这是可能的吗?除非您想编写一些自定义位以在部署后运行,否则您将无法使用MS Build转换。是的,设置每个环境有点乏味,但这就是beast现在的本质 我过去曾使用Nant来构建和解决一些转换问题。对一些人来说,没有那么乏味,但仍然乏味 我希望我能给你一个更好的故事 因为您使用的是位置,所以还可以在文件夹中设置公共位并设置特定的web.config。仍然很乏味,但可能比根目录下的一个web.config文件更痛苦