【发布时间】:2014-12-01 13:31:32
【问题描述】:
我们正在创建一个 Intranet 站点并希望使用 SSO。然而问题是,Internet Explorer (11) 不断要求提供凭据。通过指定用户名和密码,我们可以访问它。然后可以毫无问题地使用 Intranet 应用程序。但是,当 Internet Explorer 关闭时,它会再次要求提供凭据。问题出现在测试机器(在域中运行)以及我也用来开发的家里的笔记本电脑上。我使用远程桌面访问测试服务器,然后在运行站点的同一台机器上测试站点,即运行 IIS 8.5 的 Windows 2012R2。
在测试服务器上,应用程序(带有 SignalR 和 WebAPI 的 ASP.NET MVC)正在使用一个不会被自动识别为 Intranet 站点的 URL,尽管它位于相同的 IP 范围内。因此,我已在 IE 的设置中将该站点明确添加到 Intranet 区域。
当我然后右键单击该站点并请求属性时,我可以看到它位于 Intranet 区域中。这是我在这些情况下能找到的解决方案,但对我们来说还有其他事情要做。
这是 web.config 的 system.web 部分:
<system.web>
<compilation debug="true" targetFramework="4.5.1" />
<httpRuntime targetFramework="4.5" />
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
</system.web>
在 IIS 中,我尝试启用 Windows 身份验证和摘要,也只是其中之一。其他身份验证选项被禁用,包括匿名身份验证。
我还将该站点添加到没有帮助的受信任区域。还更改了区域设置(对于 Intranet 和受信任)以执行“使用当前用户名和密码自动登录”,但这也无济于事(我不明白设置自动登录仅在 Intranet 区域中,因为它似乎上述设置的区域特定重复设置,但可以)。我还检查了高级设置以确保启用了集成 Windows 安全性。
目前我们完全没有想法。
【问题讨论】:
标签: asp.net asp.net-mvc authentication single-sign-on windows-authentication