3

我的网站有 2 个登录名。1 个在前端用于普通用户,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 中配置为应用程序的虚拟目录引起的。

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

谢谢

4

2 回答 2

1

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

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

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

于 2013-02-22T06:36:27.113 回答
0

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

于 2014-03-21T12:35:30.603 回答