微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – web.config allowDefinition = MachineToApplication错误

在根目录下,我有以下结构
..
..
..
web.config
Report Folder
- Login.aspx
- Web.config
  |
  |-> ViewReport
       |       
       |-> Report.aspx

在Report文件夹中的web.config文件中,我有以下内容

<?xml version="1.0"?>
    <configuration>
        <system.web>
            <authentication mode="Forms">
                <forms loginUrl="Login.aspx" defaultUrl="ViewReport/Report.aspx">
                    <credentials passwordFormat="Clear">
                        <user name="Johl" password="pass888"/>
                    </credentials>
                </forms>
             </authentication>
         </system.web>

        <location path="ViewReport/Report.aspx">
            <system.web>
                <authorization>
                    <allow users="Johl"/>
                    <deny users="*"/>
                </authorization>
            </system.web>
         </location>
     </configuration>

当我开始调试时,我收到以下消息:

在应用程序级别之外使用注册为allowDeFinition =’MachinetoApplication’的部分是错误的.此错误可能是由于未在IIS中将虚拟目录配置为应用程序引起的.

请注意,在我的根web.config中,我有以下内容

在我的根目录中,我已经拥有以下内容

<system.web>        
            <authentication mode="Forms">
                <forms loginUrl="Str/StrUserLogin.aspx" timeout="2880" slidingExpiration="true"  />         
               </authentication>
            <authorization>
                <allow users="*" />
            </authorization>     
         </system.web>

解决方法

站点根目录创建虚拟目录.这可以通过Web选项卡下的VS中的项目属性来完成.

您也可能在子目录中定义了应该位于根配置文件中的内容.看到类似的问题:

Error to use a section registered as allowDefinition=’MachineToApplication’ beyond application level

原文地址:https://www.jb51.cc/aspnet/247834.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐