styleSheetTheme属性被忽略

时间:2013-02-03 22:22:58

标签: asp.net web-config authorization stylesheet

我正在开发一个ASP .Net网站 我创建了2个ASPX页面和1个母版页 我的2个ASPX页面是与母版页相关联的内容页面 我的2个ASPX页面是:MainMenu.aspx和Authentication.aspx Authentication.aspx是我的登录页面。

我为我的网站创建了一个主题 我的主题是由CSS文件组成的 我在web.config文件中添加了以下元素以自动导入我的CSS文件:

<pages styleSheetTheme="Default" />

我的CSS文件已正确导入,直到我在web.config文件中配置授权,如下所示:

<configuration>
    <system.web>

        ...

        <pages styleSheetTheme="Default" />

        <authentication mode="Forms">
          <forms loginUrl="~/Authentication.aspx" defaultUrl="~/MainMenu.aspx">
          </forms>
        </authentication>

        <authorization>
          <deny users="?" />
        </authorization>
    </system.web>

  <location path="~/Authentication.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>
</configuration>

我的授权配置的目的是:

  • 允许任何用户访问我的登录页面 - Authentication.aspx
  • 仅允许经过身份验证的用户访问我的登录页以外的页面

如果我评论身份验证,授权和位置元素,那么我的CSS文件会再次正确导入。

我的授权配置有什么问题?

1 个答案:

答案 0 :(得分:1)

有人向我解释了我的问题的原因:

  1. 加载身份验证页面时,请求已发送到服务器。
  2. 请求针对CSS文件。
  3. 但CSS文件位于仅限未经身份验证的用户的文件夹中。
  4. 因此请求失败。

    我如何解决我的问题:

    • 我已将所有受限文件放入公共文件夹中。
    • 我在文件夹中创建了一个web.config文件,只允许访问经过身份验证的用户。
    • 我已从我的网站根web.config文件中删除了授权和位置元素。