出现"在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误 "
错误,我已经知道是由于只能在在根目录中配置authentication项.
但我要在子目录中进行访问验证,请问有什么解决方法.

解决方案 »

  1.   

    allowDefinition='MachineToApplication' 是只能在根目录中使用的,不能在子目录中使用。
    一个应用程序只能设置一种验证方式可以在子目录中设置authorization授权啊,使用不同的角色来使用对目录的访问权限
      

  2.   

    http://hi.baidu.com/jack_feng/blog/item/2e9daa865a8e593c67096e95.html
      

  3.   

    :<authentication mode="Forms"> 是应用级别的,不能在子目录级别的web.config内 
    设置,把它放在应用级别的web.config里,在子目录下用<authorization>节来控制访问。即:<system.web>
                  <authorization>
                       <deny users="?"/>
                  </authorization>
           </system.web>
    根目录下的web.config:<authentication mode="Forms">
           <forms loginUrl="~/admin/login.aspx" name="login"   />
          
         </authentication>
         <authorization>       <allow users="*" />
         </authorization>