<authorization> node </authorization>发生Web.config错误

时间:2013-02-17 07:49:34

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

当我添加<authorization>时,它会显示页面但没有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的页面。

4 个答案:

答案 0 :(得分: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

开始

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

我有这些症状,但有些共鸣我的问题是设置了一个mimetype:

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

从我的机器设置起来,这似乎预先使用了任何图像或css文件。

我假设有一个默认集,并且通过指定mimetype,您不再隐式拥有其他类型。放下它,为我修好。