【问题标题】:Error in web.config "location"web.config“位置”中的错误
【发布时间】:2013-02-07 16:36:34
【问题描述】:

我的网站有 2 次登录。 1 个在前端用于普通用户,一个在管理部分,用于管理员(我需要 2 个登录名,因为每个人都要求不同的登录条件)。为了验证管理目录,我在主站点的 web.config 中设置了一个“位置”元素,如下所示:

<location path="Admin">
<system.web>
  <authentication mode="Forms" >
    <forms loginUrl="/Accounts/adminLogin.aspx"/>
  </authentication>
  <authorization>
    <deny users="?"/>
  </authorization>
</system.web>

如果我尝试在浏览器中键入“Admin”目录中的任何页面,我会收到以下错误:

使用注册为的部分是错误的 allowDefinition='MachineToApplication' 超出应用程序级别。这 错误可能是由于未将虚拟目录配置为 IIS 中的应用程序。

如何设置我的位置元素以正确重定向?

谢谢

【问题讨论】:

  • 第一个问题 - 您是否在 IIS 中将虚拟目录设置为应用程序?

标签: asp.net iis web-config forms-authentication


【解决方案1】:

您收到此错误消息的主要原因有两个。

  1. 如果您尚未在 iis 中配置您的 asp.Net 应用程序。如果您尚未将应用程序配置为在 iis 上运行,请先将您的站点配置为在 iis 上运行。为此,从 iis 创建虚拟目录并授予应用程序权限(读、写)
  2. 如果以上没有问题,那么主要是两个或多个 web.Config 存在于您的站点上。当您打开某个站点并且如果该应用程序的软件箱备份那么软件主要是创建子文件夹并复制所有文件 + web .Config 在应用程序中。只需从子文件夹中删除此子文件夹 web.Config。

检查您的管理文件夹和主根文件夹中的 web.Config 以了解设置和配置。

【讨论】:

    【解决方案2】:

    您不能在子目录中更改身份验证模式。只有 WebApplications 可以定义适用于整个应用程序的此设置。 location 元素仅在子目录中用于更改授权,而不是身份验证设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-24
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多