代码改变世界

在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的原因

2007-12-28 17:06  Eugene Wang  阅读(85111)  评论(25编辑  收藏  举报
   今天在写程序的时候遇到了这个问题,在网上查了半天,终于找到原因.下面来总结一下
   我想让用户在访问我的程序的Admin文件夹下的页面时需要登录,而在访问其他页面时则不需要,也就是说Admin文件夹下的文件拒绝匿名访问.
   下面是配置根目录下的web.config文件中关于授权验证的配置
   <system.web>
        <authentication mode="Forms">
            <forms loginUrl="Admin/Login.aspx"></forms>
        </authentication>
        <authorization>
            <allow users="*"/>
        </authorization>
   </system.web>
   <location path="Admin">
        <system.web>
            <authorization>
                <deny users="?"/>
            </authorization>
        </system.web>
   </location>
   注意location节,location节不需要<authentication>节了,假若加了的话,便会出现"在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' "这样的错误了,若在子文件下添加配置文件时也要注意相同的问题.