2011-07-25 116 views
1

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

我的图像文件夹在一起我在根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编辑器中,在登录图像负载.aspx页面,然后图像标记必须正常。

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

@ nico,非常感谢格式化我的问题。没有我不重写什么。它最简单和默认的asp.net应用程序可能。它的默认模板asp.net应用程序带有一个Default.aspx链接和一个简单的login.aspx页面,它是一个测试项目,登录表单可以工作,但图像无法加载。

@Chris_Lively,是在图像文件夹中有一个web.config,其web.config与<'允许角色='*'>,我检查,该文件夹命名为image \,图像标记的src指向图像\它让我发疯

+0

您是否正在重写您的网址? – bevacqua

+0

你的image目录中是否有.config文件?另外,你确认目录名为“图像”而不是“图像”? – NotMe

+0

尝试使用单个web.config文件,就像您在上一个示例中所做的那样,但是请移动system.web部分上方的位置部分。 –

回答

1

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

您会在fiddler中看到错误消息“解析器错误消息:授权规则名称不能包含'*'字符。

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