在开发(现场工作正常)时,我们网站的页面在用户通过身份验证(登录)之前不会选择正确的 CSS。
所以 Logon 和 Logoff 表单看起来很糟糕,但是一旦进入站点,CSS 就会再次起作用。
我猜这是某种身份验证问题?并没有真正深入研究它,因为它只是在开发时工作所以不是一个大问题,但很高兴知道如何解决它。
要允许未经身份验证的用户查看您的 .css 文件(或任何其他文件/目录),您可以将 location 元素添加到指向 .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>
检查并确保 CSS 文件本身不在您要保护的区域中。如果需要,您可以通过 web.config 手动排除该文件。
我自己也遇到了这个问题,手动添加位置没有任何区别。我发现我已授予 IIS_IUSRS 对文件夹的访问权限,因此我的应用程序池访问文件没有问题,但 IIS 使用 IUSR 帐户进行匿名访问。
为了解决这个问题,我打开了 IIS 管理器 -> IIS:身份验证 -> 选择“匿名身份验证” -> 单击操作:编辑 ..(或右键单击)-> 选择“应用程序池标识”
现在匿名访问尝试使用具有正确文件权限的 IIS_IUSRS。