我有一个使用 Windows 身份验证的 MVC 4 Web 应用程序。我使用 IIS 7 将该应用程序部署到真实的 Web 服务器。Windows 身份验证功能适用于 Internet Explorer (IE)、FireFox (FF) 和 Safari,但不适用于 Chrome;我正在使用 Chrome 版本 27。
这里,“ Works ”是指当用户打开浏览器(IE、FF 或 Safari)并浏览到 Web 应用程序站点时,首先在对话框中提示他/她提供有效凭据。然后,如果他/她的凭据有效,则允许用户查看网站页面。"不适用于 Chrome" 意味着 Chrome 总是让用户立即浏览网页而不会看到凭据对话框,也不会像 IE、FF 或 Safari 那样提示他们在对话框中输入凭据!这是我不知道如何解决的问题,虽然我试图清除我的 Chrome 浏览器的 cookie、缓存并关闭并再次打开 Chrome。我知道 Chrome 的“cookie clear”操作不应该执行,因为 IIS 中的 Windows 身份验证模式与表单身份验证模式之类的 cookie 无关.
第一次我在将 Web 应用程序部署到服务器后立即使用 Chrome 测试我的 Web 应用程序时,Chrome确实提示我在对话框中输入凭据,但从第二次开始,Chrome 不再提示我。
请让我知道我应该怎么做才能阻止 Chrome 浏览器让用户绕过凭据提示对话框。先感谢您。
我按照以下 2 个步骤使我的 MVC Web 应用程序与 IE、FF 和 Safari 一起工作:
1
在我的 MVC 4 Web 应用程序(Intranet 模板)的 Web 配置 (web.config) 文件中,我将 Windows 身份验证功能指定为:
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
2
在真正的 Web 服务器上,在 IIS 版本 7 中,我打开我的 MVC 网站应用程序节点并前往其身份验证节点以启用 Windows 身份验证,并禁用匿名身份验证。