我有一个我最近使用asp.net表单身份验证设置的网站。它通过Active Directory进行身份验证。在网站上有两个文件夹,我在root 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上遇到一些用户,当他们在FolderA中查看试图获取json数据的视图时遇到了失败。当然,用户不会被提示登录,但数据永远不会加载,并且开发控制台中有一条错误消息说拒绝访问。奇怪的是,我无法在我的机器上使用IE9复制此行为。
此外,当我尝试安装ClickOnce应用程序时,它会成功下载并安装,但是当Outlook尝试加载加载项时,我会收到一条消息,指出应用程序的身份验证失败。以前工作得很好;唯一改变的是我向网站添加了表单身份验证。我尝试使用匿名身份验证将该文件夹指定为IIS中的应用程序,但没有运气。
我正在运行IIS7,该网站正在使用.Net Framework 2.0。
我无法理解这种行为,我希望有人可以就如何解决这个问题给我指导。我几乎不知所措,用户也变得焦躁不安。