我无法弄清楚为什么我的IIS服务器在某些页面上进行重定向而不是其他页面。我正在使用表单身份验证,并且在我的登录页面中,我需要一些资源,如登录页面上的一些.js文件,manifest.json等(在身份验证之前)并且一些资源没有加载,因为它会抛出一个302重定向回这些资源的登录页面。
我甚至在根中放了一些“hello world”html页面,1个工作正常,另外2个重定向到登录页面。
www.mydomain.com/test.html - 200响应www.mydomain.com/test2.html - 302响应
我开启了登录IIS,所有显示的都是test2.html和302的“获取”,但没有说明原因(我在错误的地方找?)。
我确保“允许所有用户”模式符合该站点的.NET授权规则,并且启用了匿名身份验证(所有其他用户都被禁用),并且存在“允许所有用户”授权规则。
无奈之下,我甚至提出
<authorization>
<allow users="*" />
<allow users="*" />
</authorization>
在web.config但没有帮助。我用Google搜索了但我似乎无法找到其他任何东西来尝试......
我最终在这方面向微软公开案件;事实证明我选择了“特定用户”作为我的匿名用户身份并且设置为“IUSR”的默认用户,因此对于未经身份验证的用户,它使用的用户没有正确的文件级权限。我把它设置为'应用程序池标识',一切都很好。
在IIS管理器中,选择应用程序,然后单击“身份验证”,然后编辑“匿名身份验证”节点并将其更改为“应用程序池标识”。