IIS:将Kerberos与不在域中的客户端计算机一起使用

时间:2013-01-08 21:46:00

标签: windows internet-explorer iis active-directory kerberos

不属于域(但在网络上)的计算机是否可以对IIS8发布的网站进行身份验证,其中该网站的身份验证仅为“Windows身份验证”,只有一个“协商”提供商: Kerberos“(并且禁用了内核模式身份验证)?

我问,因为我正在努力做到这一点,但我无法通过对网站的身份验证(但还是单独尝试将身份验证传递给数据库)。我在对客户端的响应中看到“WWW-Authenticate:Negotiate”标题,但客户端似乎只在后续(重新)请求中发送“NTLM Type1:Negotiation”(NTLMSSP)。无论是我还是错误地解释了Fiddler2的结果!

我正在使用Kerberos,因为大多数客户端都是域计算机,我需要将用户凭据从Web应用程序传递回数据库。我希望我能够对非域计算机做同样的事情,他们只会被提示输入一个用户名/域/密码,这些用户名/域/密码将被验证并转换为服务器上的Kerberos票证。

请注意,出于测试目的,Windows 8既是服务器又是客户端。在生产中,服务器将是Windows 2008 Server R2,客户端将主要是Windows 7(虽然会有一些Windows 8客户端)。

1 个答案:

答案 0 :(得分:2)

Kerberos将处理不属于域的帐户/计算机。 您有两种选择来实现目标:

  1. 使用Basic auth请求用户数据并将其传递给LogonUserEx。有关答案,请参阅this
  2. 通过其他方式验证用户并使用S4U2self(协议转换)。