【问题标题】:Web.config error with <authorization> node<authorization> 节点的 Web.config 错误
【发布时间】:2013-02-01 20:45:58
【问题描述】:

当我添加 &lt;authorization&gt; 时,它会显示页面但没有 css。有人知道为什么吗??

这是我的web.config

<?xml version="1.0"?>
<configuration>
  <connectionStrings>
    <add name="UomDBConnectionString1"
         connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\UomDB.mdf;Integrated Security=True;User Instance=True"
         providerName="System.Data.SqlClient" />
  </connectionStrings>
  <system.web>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
      </assemblies>
    </compilation>
    <authentication mode="Forms">
      <forms loginUrl="Login.aspx" timeout="2880" />
    </authentication>
    <authorization>
      <deny users="?"/>
    </authorization>
  </system.web>
</configuration>

如果我删除它,则显示带有 css 的页面。

【问题讨论】:

    标签: asp.net .net css web-config authorization


    【解决方案1】:

    可能是您的 css 和图像文件夹在受限区域..

    您需要在 web.config 中的此表单身份验证代码中允许访问这些文件。

    这就是你的做法:

     <location path="default.aspx">
        <system.web>
          <authorization>
            <allow users="?"/>
          </authorization>
        </system.web>
      </location>
    
      <location path="Home">
        <system.web>
          <authorization>
            <allow users="?"/>
          </authorization>
        </system.web>
      </location>
    
      <location path="Styles">
        <system.web>
          <authorization>
            <allow users="?"/>
          </authorization>
        </system.web>
      </location>
    
      <location path="Scripts">
        <system.web>
          <authorization>
            <allow users="?"/>
          </authorization>
        </system.web>
      </location>
    
      <location path="images">
        <system.web>
          <authorization>
            <allow users="?"/>
          </authorization>
        </system.web>
      </location>
    

    取自here

    【讨论】:

      【解决方案2】:

      似乎您的 CSS 在授权下受到保护。要允许未经身份验证的用户查看您的 .css 文件(或任何其他文件/目录),您可以将 location 元素添加到指向 .css 文件的 web.config 文件。

      <configuration>
          <location path="App_Themes/Default/YourFile.css">
              <system.web>
                  <authorization>
                      <allow users="*"/>
                  <authorization>
              <system.web>
          <location>
      <configuration>
      

      【讨论】:

        【解决方案3】:

        您需要确保您的 CSS 不在另一个受保护的文件夹中。

        【讨论】:

        • 把你的 CSS 文件夹放在项目的根目录下。
        【解决方案4】:

        我有这些症状,但出于某种原因,我的问题是设置了一个单一的 mimetype:

        <system.webServer>
           <staticContent>
              <mimeMap fileExtension=".pdf" mimeType="application/pdf" />
        ...
        </staticContent>
        

        无论我的机器是如何设置的,这似乎阻止了使用任何图像或 css 文件。

        我假设有一个默认设置,并且通过指定一个 mimetype,您不再隐含地拥有其他类型。放弃它,为我修复它。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-22
          相关资源
          最近更新 更多