我有一个最近使用 asp.net 表单身份验证设置的网站。它通过 Active Directory 进行身份验证。在网站上有两个文件夹,我使用根 web.config 文件中的位置标签公开了它们,如下所示:
<location path="FolderA">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="FolderB">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
FolderA 包含一个 PHP 应用程序,它使用 jQuery 的 ajax 函数从位于 FolderA 中的控制器获取 json 数据。
FolderB 包含一个 ClickOnce 应用程序(一个 Outlook 加载项)。
我可以在所有当前浏览器中导航到这两个文件夹,而不会提示登录。如果我去网站的其他非公共区域,系统会提示我登录。这正是我想要的方式。
但是我有一些 IE9 用户在尝试获取 json 数据的 FolderA 中的视图时遇到了失败。当然,不会提示用户登录,但数据永远不会加载,并且开发控制台中有一条错误消息说访问被拒绝。奇怪的是,我无法在我的机器上使用 IE9 复制这种行为。
此外,当我尝试安装 ClickOnce 应用程序时,它会成功下载并安装,但当 Outlook 尝试加载加载项时,我会收到一条消息,指出应用程序的身份验证失败。它曾经工作得很好;唯一改变的是我向站点添加了表单身份验证。我尝试将文件夹指定为具有匿名身份验证的 IIS 中的应用程序,但没有运气。
我正在运行 IIS7,并且该站点使用的是 .Net Framework 2.0。
我无法理解这种行为,我希望有人可以指导我如何解决它。我几乎不知所措,用户越来越不安。