Martin Robins
Martin Robins

Reputation: 6163

IIS: Using Kerberos with client computers that are not on the domain

Can a computer that is NOT a part of the domain (but is on the network) authenticate against to a web site published by IIS8 where the authentication for that site is "Windows Authentication" only with a single provider of "Negotiate:Kerberos" (and with Kernel-mode authentication disabled)?

I ask because I am trying to do just this, but I cannot get past the authentication to the site (yet alone trying to pass the authentication to the database). I see the "WWW-Authenticate: Negotiate" header on the response to the client, but the client only ever seems to send a "NTLM Type1: Negotiation" (NTLMSSP) in the subsequent (re)requests. Either that or I am interpreting the results from Fiddler2 incorrectly!

I am using Kerberos as most of the clients will be domain computers and I need to pass user credentials from the web application back to the database. I was hoping that I would be able to do the same with non-domain computers and they would simply be prompted for a username/domain/password that would be validated and converted to a Kerberos ticket on the server.

Note that for testing purposes, Windows 8 is both the server and the client. In production, the server will be Windows 2008 Server R2 and the client will be primarily Windows 7 (though there will be some Windows 8 clients).

Upvotes: 6

Views: 10039

Answers (1)

Michael-O
Michael-O

Reputation: 18405

Kerberos will not work on accounts/computers which are not part of the domain. You have two options to achive your goal:

  1. Request the user data with Basic auth and pass that to LogonUserEx. See this for answers.
  2. Authenticate the user by other means and use S4U2self (protocol transition).

Upvotes: 3

Related Questions