0

我有一个在 Windows 7 Ultimate 上以 ASP.NET 4.0 运行的站点。
它使用 FormsAuthentication,带有一个漂亮的小登录页面,就登录和身份验证而言,所有这些都很好。

不能正常工作的是子目录中的目录授权覆盖。

我希望经过身份验证和未经过身份验证的用户都可以访问incimages目录,以便登录页面可以正确地采用 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 站点中做了同样的事情,没有问题。

4

1 回答 1

0

想通了。我已将我的网站目录从默认目录中移出。尽管 IIS 已授予IIS_IUSERS组对该目录的权限,但由于某种原因,它并未授予用户IUSR对该目录的权限。手动添加了他,然后BOOM成功了!

于 2010-09-22T03:15:15.653 回答