1

当我添加<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

4 回答 4

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>

这里取

于 2013-02-17T07:52:07.397 回答
1

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

<configuration>
    <location path="App_Themes/Default/YourFile.css">
        <system.web>
            <authorization>
                <allow users="*"/>
            <authorization>
        <system.web>
    <location>
<configuration>
于 2013-02-17T07:54:33.057 回答
0

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

于 2013-02-17T07:51:14.173 回答
0

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

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

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

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

于 2013-08-15T13:01:49.247 回答