激活“授权”会导致CSS停止工作!怎么解决呢?

时间:2011-12-20 09:26:12

标签: asp.net css authorization

当我使用时:

<deny users="?"/>

在“授权”标签中,CSS停止为未经授权的访问者工作。我该如何为css文件定义一个例外。我希望它们适用于所有访客。

这是我的web.config文件:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
        <roleManager enabled="true"/>
        <authentication mode="Forms">
            <forms loginUrl="welcome.aspx" defaultUrl="Default.aspx"/>
        </authentication>
        <compilation debug="true" targetFramework="4.0"/>
</system.web>
</configuration>

我确实编辑了我的web.config:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
        <roleManager enabled="true"/>
        <authentication mode="Forms">
            <forms loginUrl="welcome.aspx" defaultUrl="Default.aspx"/>
        </authentication>
        <compilation debug="true" targetFramework="4.0"/>
       </system.web>

       <location path="styles">
         <system.web>
          <authorization>
            <allow users="*"/>
          </authorization>
         </system.web>
      </location>

     <location path="styles/welcome.css">
      <system.web>
       <authorization>
        <allow users="*"/>
       </authorization>
      </system.web>
    </location>
</configuration>

它正在发挥作用。 谢谢。

3 个答案:

答案 0 :(得分:3)

将CSS的位置添加到web.config中。你可以把它完全放在</configuration>

之前
<location path="css">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
   </location>

当然,改变&#34; css&#34;到您的css文件的真实文件夹...最简单的方法是将它放在一个单独的文件夹中,其中所有项目都是公共的。就像你的图像等。

答案 1 :(得分:0)

您可能阻止访问存储css文件的文件夹。

尝试允许每个人访问您的css文件夹,即使它们未被自动化。

答案 2 :(得分:0)

您可以使用Location元素定义配置适用于您网站的哪个部分:

(来自MSDN

<location allowOverride="True|False" path="path" />