2

我们正在创建一个内部网站并希望使用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安全性已启用。

目前我们完全没有想法。

回答

0

两个多到你的清单:

  • 请确保您有禁用匿名身份验证
  • 确保域控制器是来自客户端PC和托管Web应用程序的IIS访问。有可能域控制器不会将应用程序服务器识别为来自同一个域。

http://www.wiktorzychla.com/2012/06/iis-75-integrated-security-with-no.html

+0

是为此所需的域控制器,因为我有没有在一个域中运行对我的发展家用笔记本同样的问题。 在IIS中匿名访问也被禁用。 – 2014-10-07 07:41:27

+0

我怀疑客户端机器是否实现NTLM/Kerberos的服务器部分。我相信域控制器是必须的。 – 2014-10-07 08:01:37

+0

@RonDeijkers你能解决这个问题吗?我有同样的问题,还没有找到解决方案。 – Umeshwali 2015-04-07 02:39:45