Authentification Windows sur IIS sur le serveur local avec une URL complète


9

J'ai une application Web configurée dans IIS 7 configurée avec l'authentification Windows. Je peux m'authentifier auprès de la machine via son URL entièrement qualifiée à partir de n'importe quelle autre machine et elle utilise le domaine approprié. Cependant, lorsque j'essaie de me connecter à la machine à partir d'elle-même via le domaine complet (soit dans un autre service, soit simplement via l'URL dans IE), l'invite de connexion Windows essaie de forcer l'utilisation de l'ordinateur comme domaine, et non domaine approprié pour la connexion. Essayer de spécifier le domaine avec domain\usernameou username@domain.coméchoue.

Je dois noter que l'affichage de l'application Web via localhostsur la machine fonctionne, mais l'utilisation de l' site.company.com/webserviceurl de style complet ne fonctionne pas sur la machine locale, car le domaine de connexion est incorrect. Que puis-je faire pour lui faire utiliser le domaine de connexion approprié?

Réponses:


11

J'essayais de faire la même chose. Accédez à un site Web sur l'IIS local à l'aide d'un nom de domaine complet et n'arrêtez pas de savoir où aller via IIS.

Quoi qu'il en soit, à partir de mes recherches, vous devez désactiver la vérification de bouclage pour les sites Web IIS locaux.

Consultez la page de support Microsoft suivante .

Dans le cas où la page disparaît, j'ai fait ce qui suit (c'est ce qu'il recommande dans le blog ci-dessus)

  1. Ouvrez l'éditeur de registre en tapant regedit sous Exécuter.
  2. Accédez à HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0
  3. Cliquez avec le bouton droit sur MSV1_0 et cliquez sur Nouveau et choisissez d'en faire une valeur à plusieurs chaînes.
  4. Entrez BackConnectionHostNames comme nom pour l'entrée et double-cliquez dessus pour la modifier.
  5. Tapez les noms d'hôtes que vous devez utiliser (code-journey.com par exemple).
  6. Redémarrez le service IISAdmin («Démarrer» -> «Outils d'administration» -> «Services»)

J'espère que cela t'aides.

cmb ..


4

Cela est dû à une fonctionnalité de sécurité appelée LoopbackCheck.

Message d'erreur lorsque vous essayez d'accéder à un serveur localement à l'aide de son FQDN ou de son alias CNAME après avoir installé Windows Server 2003 Service Pack 1: «Accès refusé» ou «Aucun fournisseur de réseau n'a accepté le chemin d'accès réseau donné»
http://support.microsoft .com / kb / 926642

Il existe deux résolutions:

Méthode 1 (recommandée): créez les noms d'hôte de l'autorité de sécurité locale qui peuvent être référencés dans une demande d'authentification NTLM. Pour ce faire, procédez comme suit pour tous les nœuds sur l'ordinateur client:

  1. Cliquez sur Démarrer, sur Exécuter, tapez regedit, puis cliquez sur OK.
  2. Recherchez et cliquez sur la sous-clé de Registre suivante: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0
  3. Cliquez avec le bouton droit sur MSV1_0, pointez sur Nouveau, puis cliquez sur Valeur de chaînes multiples.
  4. Dans la colonne Nom, tapez BackConnectionHostNames et appuyez sur ENTRÉE.
  5. Cliquez avec le bouton droit sur BackConnectionHostNames, puis cliquez sur Modifier.
  6. Dans la zone données de la valeur, tapez le CNAME ou l'alias DNS, qui est utilisé pour les partages locaux sur l'ordinateur, puis cliquez sur OK.

    Remarque: saisissez chaque nom d'hôte sur une ligne distincte.

    Remarque: Si l'entrée de registre BackConnectionHostNames existe en tant que type REG_DWORD, vous devez supprimer l'entrée de registre BackConnectionHostNames.

  7. Quittez l'Éditeur du Registre, puis redémarrez l'ordinateur.

Méthode 2: désactivez la vérification de bouclage d'authentification en définissant l'entrée de Registre DisableLoopbackCheck dans la sous-clé de Registre HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa sur 1. Pour définir l'entrée de Registre DisableLoopbackCheck sur 1, procédez comme suit sur l'ordinateur client:

  1. Cliquez sur Démarrer, sur Exécuter, tapez regedit, puis cliquez sur OK.
  2. Recherchez et puis cliquez sur la sous-clé de Registre suivante: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa
  3. Cliquez avec le bouton droit sur Lsa, pointez sur Nouveau, puis cliquez sur Valeur DWORD.
  4. Tapez DisableLoopbackCheck et appuyez sur ENTRÉE.
  5. Cliquez avec le bouton droit sur DisableLoopbackCheck, puis cliquez sur Modifier.
  6. Dans la zone Données de la valeur, tapez 1, puis cliquez sur OK.
  7. Quittez l'Éditeur du Registre.
  8. Redémarrer le PC.

Ce qui a fait l'affaire pour moi, c'est la 2ème option - DisableLoopbackCheckingdansHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Icare

1

Je peux vous dire, sur la base d'une certaine expérience de la configuration de l'authentification unique, qu'IE ne transmettra automatiquement un ticket Kerberos pour la connexion que si le site et le client se trouvent sur l'intranet ensemble, ou si le site se trouve dans la zone de confiance. Si IE voit http://site.company.com/webservice, il supposera que le site est sur Internet et ne transmettra pas les informations d'identification pour la connexion.

Ce lien contient des informations utiles concernant IIS, IE et Kerberos. http://blogs.msdn.com/b/friis/archive/2009/12/31/things-to-check-when-kerberos-authentication-fails-using-iis-ie.aspx

Nous avons constaté deux choses qui permettent d'autoriser le nom de domaine complet sur l'intranet est de fournir au serveur Web un certificat et d'utiliser SSL, ou de l'ajouter à la zone de confiance.

J'espère que cela vous aidera par rapport à votre configuration.


Cela ne résout pas le problème. J'ai déjà essayé d'ajouter le FQDN à la zone de confiance, en vain. Je pense cependant que cela résout un problème différent. L'ajouter à la zone de confiance permet une authentification automatique , dont je n'ai pas besoin - je suis d'accord avec la spécification des informations d'identification, mais le problème est qu'il n'accepte pas mon domaine spécifié pour les informations de connexion - il est bloqué sur le nom de l'ordinateur.
roviuser
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.