ASP.NET web.config授权设置被忽略

时间:2011-07-25 00:37:58

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

我正在寻找一些解决方案,但找不到一个。有thisthis个,但无法在那里找到并回答。我正在 ASP.NET开发服务器上开发一个asp.net应用程序。我的root asp.net文件夹中有以下web.config:

<?xml version="1.0"?>  
<configuration>  
  <system.web>  
    <compilation debug="true" targetFramework="4.0" />  
    <authentication mode="Forms">  
      <forms name="4df5d465h"  
          loginUrl="~/login.aspx"  
          protection="All"  
          timeout="30" path="/" />  
    </authentication>  
    <authorization>  
      <deny users="?"/>  
    </authorization>  
  </system.web>  
</configuration>  

我的图片文件夹在root asp.net应用程序文件夹中是我的主web.config 在图片文件夹中 我将以下web.config:

<?xml version="1.0"?>  
<configuration>  
  <system.web>  
    <authorization>  
      <allow roles="*"/>  
      <allow users="*"/>  
    </authorization>  
  </system.web>  
</configuration>  

我将角色属性放在后面,看它是否有效 我也用这种方式写了主web.config:

<?xml version="1.0"?>  
<configuration>
  <system.web>  
    <compilation debug="true" targetFramework="4.0" />  
    <authentication mode="Forms">  
      <forms name="3D45C7D8B0B0C"  
          loginUrl="~/login.aspx"  
          protection="All"  
          timeout="30" path="/" />  
    </authentication>  
    <authorization>  
      <deny users="?"/>  
    </authorization>  
  </system.web>  

  <location path="~/image">  
    <system.web>  
      <authorization>  
        <allow users="*"/>  
      </authorization>  
    </system.web>  
  </location>  
</configuration>

但登录页面永远无法加载图片

在设计模式下,在visual studio编辑器中,login.aspx页面中的图像加载,然后image标签必须正常。

我做错了什么?非常感谢。

@nico,非常感谢格式化我的问题。不,我不会改写任何东西。它最简单和默认的asp.net应用程序成为可能。它的默认模板asp.net应用程序在Default.aspx上有一个链接和一个简单的login.aspx页面,它是一个测试项目,登录表单可以工作,但是图像没有加载。

@Chris_Lively,是的,在图像文件夹中有一个web.config,其web.config有&lt;'allow roles ='*'&gt;,我检查过,文件夹名为image \,图像标记点的src成像\它让我疯狂

1 个答案:

答案 0 :(得分:1)

您的配置文件包含错误 - 'roles'标签不能使用星号,您应该定义特定的角色名称(allow element)或根本不使用它。

您会在fiddler中看到错误消息'Parser Error Message:授权规则名称不能包含'*'字符'。

我认为这是你问题的原因。