L'authentification Kerberos dans IIS 7

Nous avons peu de contenu web qui est installé dans les répertoires virtuels à l'aide de l'authentification windows intégrée. Les répertoires virtuels sont en cours d'exécution en vertu de pools d'applications à l'aide d'une identité personnalisée (custom compte d'utilisateur). Le problème est que l'authentification NTLM fonctionne cependant l'authentification Kerberos ne fonctionne pas. C'est la même configuration que travaillé sous IIS 6, mais nous avons besoin de migrer vers IIS 7 et de l'authentification Kerberos ne fonctionne pas.

Voici quelques informations à propos de mon environnement:

Répertoire Virtuel Paramètres D'Authentification:

  • Tout désactivé sauf pour l'Authentification Windows
  • Activer l'authentification en mode noyau: activé

Application Paramètres De Pool:

  • Mode Pipeline Géré: Classique
  • Identité: la Coutume locale de l'utilisateur

Web.Paramètres de configuration:

  • authentication mode = "Windows"
  • système.serviceModel/liaisons/basicHttpBinding/liaison/de sécurité/mode = TransportCredentialOnly
  • système.serviceModel/liaisons/basicHttpBinding/liaison/de sécurité/transport/clientCredentailType = Windows
  • serviceHostingEnvironment/aspNetCompatibilityEnabled = true

Répertoire Virtuel Autorisations:

  • Personnalisé groupes locaux: Nous ajoutons les utilisateurs du domaine pour les groupes locaux pour l'accès au service

Paramètres du système d'exploitation:

  • IIS 7
  • Windows Server 2008 x64 SP2 standard

Ici est l'analyse que je reçois de fiddler comparant IIS 6 pour IIS 7. L'authentification Kerberos fonctionne très bien dans IIS 6 avec un pool d'application en cours d'exécution avec une identité personnalisée.

De référence (IIS 6) (Travaux):

Fiddler:

(À l'aide de domaine\utilisateur)

Demande de 1 (pas d'authentification)

No Proxy-Authorization Header is present.
No Authorization Header is present.

Réponse 1 (401) (défi)

No Proxy-Authenticate Header is present.
WWW-Authenticate Header is present: Negotiate
WWW-Authenticate Header is present: NTLM

Demande 2 (ticket Kerberos)

Authorization Header (Negotiate) appears to contain a Kerberos ticket:
<data>

Réponse 2 (401) (Kerberos répondre)

WWW-Authenticate Header (Negotiate) appears to be a Kerberos reply:
<data>

Demande 3 (ticket Kerberos)

Authorization Header (Negotiate) appears to contain a Kerberos ticket:
<data>

Réponse 3 (401) (Kerberos répondre)

WWW-Authenticate Header (Negotiate) appears to be a Kerberos reply:
<data>

Demande 4 (ticket Kerberos)

Authorization Header (Negotiate) appears to contain a Kerberos ticket:
<data>

Réponse 4 (200) (Kerberos Répondre)

WWW-Authenticate Header (Negotiate) appears to be a Kerberos reply:
<data>

Et la fin de la transaction et le navigateur affiche la page.


(IIS 7) (Ne fonctionne pas):

Fiddler:

(À l'aide de domaine\utilisateur)

Demande de 1 (pas d'authentification)

No Proxy-Authorization Header is present.
No Authorization Header is present.

Réponse 1 (401) ( Négocier)

No Proxy-Authenticate Header is present.
WWW-Authenticate Header is present: Negotiate
WWW-Authenticate Header is present: NTLM

Demande 2 (ticket Kerberos)

Authorization Header (Negotiate) appears to contain a Kerberos ticket:
<data>

Réponse 2 (401) (Négocier)

No Proxy-Authenticate Header is present.
WWW-Authenticate Header is present: Negotiate
WWW-Authenticate Header is present: NTLM

Remarquer que IIS 7 n'est pas d'accepter mon ticket Kerberos dans Réponse 2. Aucune idée pourquoi pas? Ai-je besoin de reconfigurer certains trucs dans IIS 7 pour obtenir l'authentification Kerberos pour travailler?

OriginalL'auteur Andy Arismendi | 2010-09-23