【问题标题】:ASP.NET web.config authorization settings ignoredASP.NET web.config 授权设置被忽略
【发布时间】:2011-10-12 06:01:03
【问题描述】:

我正在寻找一些解决方案,但找不到。有 thisthis ,但在那里找不到并回答。我正在 ASP.NET 开发服务器 上开发一个 asp.net 应用程序。我的根 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编辑器中,login.aspx页面中的图像加载然后图像标记必须是可以的。

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

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

@Chris_Lively,是的,image 文件夹中有一个 web.config,它的 web.config 带有 ,我检查了,该文件夹名为 image\,image 标签的 src 指向 image \它让我发疯了

【问题讨论】:

  • 你的镜像目录中有 .config 文件吗?另外,您是否确认该目录名为“image”而不是“images”?
  • 尝试像上一个示例一样使用单个 web.config 文件,但将 location 部分移到 system.web 部分上方。
  • 你试过添加,允许所有用户吗?

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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 2010-10-13
    • 2019-03-17
    • 2013-12-29
    • 1970-01-01
    • 2013-03-15
    相关资源
    最近更新 更多