我有一个在 Windows 7 Ultimate 上以 ASP.NET 4.0 运行的站点。
它使用 FormsAuthentication,带有一个漂亮的小登录页面,就登录和身份验证而言,所有这些都很好。
不能正常工作的是子目录中的目录授权覆盖。
我希望经过身份验证和未经过身份验证的用户都可以访问inc
和images
目录,以便登录页面可以正确地采用 CSS 样式并在顶部有徽标等。
好吧,很简单,对吧?<location>
我尝试通过根 web.config 中的标记允许匿名访问这些文件夹,如下所示:
<location path="images">
<system.web>
<authorization>
<allow users="*,?" />
</authorization>
</system.web>
</location>
以及目标目录中的单个 web.config 文件,如下所示:
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow users="*,?" />
</authorization>
</system.web>
</configuration>
但由于某种原因,它不允许匿名用户进入这些目录。我已经通过尝试直接转到图像的 URL 来验证它与授权有关,但它失败了。但是登录后我可以把它拉起来就好了。
.NET 4.0 在授权方面是否有所改变,这将不起作用?我在 2.0 和 3.5 站点中做了同样的事情,没有问题。