2

我有一个登录页面页面,未经身份验证的用户应该可以使用该页面。在我本地的 ASP.Net 开发服务器上,一切正常。但是,当部署在 IIS 7 上时,所有静态内容(例如图片和脚本)都不会下载。只有当用户第一次登录时,它才会返回图片和脚本。服务器为未经身份验证的用户返回 HTTP 302。我正在使用表单身份验证和 ASP.Net 会员提供程序。

4

1 回答 1

8

第 1 步: 确保已在 web.config(内部)中为“匿名身份验证”启用了相应的目录(MVC 默认为“内容”和“脚本”),例如:

<location path="Content">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location>
<location path="Scripts">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location>

第 2 步: 检查“IUSR”内置帐户是否具有对这些目录的读取权限。默认情况下,此用户用于所有匿名请求。

注意:您可以通过编辑 C:\Windows\System32\inetsrv\config 中的 applicationHost.config 来更改用于匿名访问的帐户。在 64 位机器上,此文件只能由 64 位应用程序(即不是 Visual Studio)编辑。记事本很好用。确保在编辑之前进行备份。您正在寻找下一行:

<anonymousAuthentication enabled="true" userName="IUSR" />
于 2012-07-18T23:40:17.133 回答