MVC 3/4 Intranet 应用程序自动/使用 Chrome 的静默身份验证

Posted

技术标签:

【中文标题】MVC 3/4 Intranet 应用程序自动/使用 Chrome 的静默身份验证【英文标题】:MVC 3/4 intranet application automatic / slient authentication with Chrome 【发布时间】:2013-11-07 17:29:38 【问题描述】:

我使用 MVC3 内网样板/模板创建了一个简单的应用程序。自动身份验证适用于本地计算机上的 Internet Explorer 以及部署在服务器上时。

Chrome 在本地计算机上进行身份验证,但在服务器上会提示输入凭据。 Firefox 在两种情况下都会提示输入凭据(如预期的那样)

服务器设置:

Windows Server 2008 R2、IIS7.5

MVC 应用程序是“DefaultWebSite”下的应用程序。应用程序文件夹上的身份验证是

Anonymous Authentication: Disabled
ASP.NET Impersonation:  Tested Enabled & Disabled
Forms Authentication: Disabled
Windows Authentication: Enabled 

WebConfig 要点:

<system.web>
    <authentication mode="Windows" />
    <authorization>
      <deny users="?" />
    </authorization>
    <identity impersonate="true" />
</system.web>

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

什么可能导致 Chrome 提示输入凭据? Intranet 上的其他资源在 Chrome 中没有此行为,它只是让您登录。即 SharePoint。

【问题讨论】:

【参考方案1】:

这是 Google Chrome 的预期行为。

查看Google Chrome: passthrough Windows authentication 线程以获取更多信息。

【讨论】:

以上是关于MVC 3/4 Intranet 应用程序自动/使用 Chrome 的静默身份验证的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Intranet 预编译 MVC?

如何在 ASP.NET MVC 3 Intranet 应用程序中重新验证用户身份?

IIS 上 asp.net mvc Intranet Web 应用程序的基本身份验证与 Windows 身份验证

使用 ASP.NET MVC 和 Access 的 Intranet 表单

在 ASP.NET MVC 4 中添加服务引用

SSO - 如何从 Intranet (SAML 2.0) 自动登录到外部网站?