CSS未应用于未经过身份验证的ASP.NET页面

时间:2008-09-11 01:01:54

标签: asp.net css

在开发(工作正常)时,我们网站的页面在用户进行身份验证(登录)之前不会选择正确的CSS。

因此Logon和Logoff表单看起来很糟糕,但一旦进入网站,CSS就会再次运行。

我猜它是某种身份验证问题?没有真正调查太多,因为只有在开发工作时这不是一个大问题,但很高兴知道如何解决它。

4 个答案:

答案 0 :(得分:17)

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

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

答案 1 :(得分:14)

检查并确保CSS文件本身不在您正在保护的区域中。如果需要,您可以通过web.config手动排除文件。

答案 2 :(得分:9)

我自己遇到了这个问题并手动添加位置没有区别。我发现我已经给IIS_IUSRS访问了文件夹,所以我的应用程序池访问文件没有问题,但IIS使用IUSR帐户进行匿名访问。

要修复它,我打开了IIS管理器 - &gt; IIS:身份验证 - &gt;选择“匿名身份验证” - &gt;单击操作:编辑..(或右键单击) - &gt;选择“应用程序池标识”

现在,匿名访问尝试使用具有正确文件权限的IIS_IUSRS。

答案 3 :(得分:3)

您可以尝试使用FiddlerHttpWatch之类的工具,并检查请求是否实际来自登录页面的.css文件。验证返回代码是否为200.可能是因为开发框中存在相对路径问题。