web.config“location”出错

时间:2013-02-22 05:52:45

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

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

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

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

  

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

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

由于

2 个答案:

答案 0 :(得分:1)

主要有两个原因导致出现此错误消息。

  1. 如果您尚未在iis中配置asp.Net应用程序。如果您尚未将应用程序配置为在iis上运行,请首先将站点配置为在iis上运行。从iis创建虚拟目录并授予应用程序权限(读取,写入)
  2. 如果上面没有问题则主要存在两个或多个web.Config存在于您的网站上的问题。当您打开某个网站时,如果软件包装该应用程序的备份,则软件主要创建子文件夹并复制所有文件+ web .Config in application。只需从子文件夹中删除此子文件夹web.Config。
  3. 检查管理文件夹和主根文件夹中的web.Config以获取设置和配置。

答案 1 :(得分:0)

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