0

我在这里发现了几个不同的问题,解释了如何确保 CSS 在没有用户登录的情况下正确加载:CSS not being applied on non authenticated ASP.NET page

为什么这个问题只发生在开发环境,而不是生产环境?如果问题是 web.config 说未经身份验证的用户无法访问 css 文件,那么为什么它在生产中可以正常工作?似乎在 web.config 中应该阻止在生产和开发中的访问。

4

1 回答 1

2

答案很简单。

在您的开发环境中,这是一个提供所有静态和动态内容的 asp.net 引擎。因此,授权规则适用于两者。

在您的产品中,iis 将动态请求路由到 asp.net 页面处理程序,但对静态内容的请求由 iis 处理。因此,授权不适用,因为 asp.net 不涉及对 jpg、csses 和其他静态资产的请求。

如果您想要环境之间的统一语义,则必须为所有请求打开运行所有托管模块,这是您的 asp.net Web 应用程序的设置。它通过 asp.net 路由所有请求,这导致引擎为所有请求应用所有模块(包括 url 授权模块)。

于 2013-02-14T18:44:14.433 回答