我们正在创建一个内部网站并希望使用SSO。但问题是,Internet Explorer(11)不断要求提供凭据。通过指定用户名和密码,我们可以访问它。然后,Intranet应用程序可以毫无问题地使用。当Internet Explorer关闭时,它会再次请求凭据。问题出现在测试机器上(运行在域中),也出现在我家里的笔记本电脑上,我也用它开发。我使用远程桌面访问测试服务器,然后在运行IIS的Windows 2012R2上运行的同一台计算机上测试该站点。IE11不断要求在内部网上提供凭据
在测试服务器上,应用程序(带有SignalR和WebAPI的ASP.NET MVC)使用的URL不会被自动识别为Intranet站点,尽管它在相同的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安全性已启用。
目前我们完全没有想法。
是为此所需的域控制器,因为我有没有在一个域中运行对我的发展家用笔记本同样的问题。 在IIS中匿名访问也被禁用。 – 2014-10-07 07:41:27
我怀疑客户端机器是否实现NTLM/Kerberos的服务器部分。我相信域控制器是必须的。 – 2014-10-07 08:01:37
@RonDeijkers你能解决这个问题吗?我有同样的问题,还没有找到解决方案。 – Umeshwali 2015-04-07 02:39:45