Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article résout le problème où un état 401.1 inattendu est retourné avec des en-têtes de pré-authentification. Il se produit lorsque vous utilisez Internet Explorer pour le navigateur vers une application web hébergée sur Internet Information Services (IIS).
Version du produit d’origine : mode Internet Explorer dans Microsoft Edge, Internet Explorer 11, Internet Information Services
Numéro de base de connaissances d’origine : 2749007
Symptômes
Examinez le cas suivant :
- Vous utilisez Internet Explorer (ou le mode Internet Explorer dans Microsoft Edge) pour parcourir une application web hébergée sur IIS.
- L’ordinateur client est configuré pour utiliser la pré-authentification dans les paramètres Internet et l’authentification en mode noyau est activée dans IIS.
- La demande web envoyée par Internet Explorer (ou le mode Internet Explorer dans Microsoft Edge) est la première requête à envoyer à l’application IIS.
Dans ce scénario, IIS peut renvoyer une réponse HTTP (HyperText Transfer Protocol) 401.1 à Internet Explorer (ou en mode Internet Explorer dans Microsoft Edge) en réponse à la requête du navigateur. Le navigateur web peut vous inviter à entrer votre nom d’utilisateur et votre mot de passe. Vous pouvez également afficher un message d’erreur HTTP 401.1 dans la fenêtre du navigateur.
Cause
Ce comportement est fait exprès. La réponse 401.1 se produit si la première requête du navigateur web envoyée à l’application IIS contient l’un des en-têtes suivants :
- En-tête NTLM (Windows Challenge/Response)
- En-tête Negotiate WWW-Authorization (appelé pré-authentification)
Note
Il existe de nombreuses raisons pour lesquelles un utilisateur peut être invité à entrer des informations d’identification dans Internet Explorer qui se trouvent en dehors de l’étendue de cet article. Consultez la section Plus d’informations pour savoir comment déterminer si la cause de l’invite provient du problème décrit ici.
Solution de contournement
Pour contourner ce comportement, désactivez la pré-authentification dans les paramètres Internet ou désactivez l’authentification en mode noyau pour l’application web IIS.
Avertissement
Si vous utilisez l’Éditeur de Registre de manière incorrecte, vous risquez de provoquer de graves problèmes qui peuvent nécessiter la réinstallation de votre système d’exploitation. Microsoft ne peut pas garantir que vous pouvez résoudre les problèmes résultant de l’utilisation incorrecte de l’Éditeur de Registre. Son utilisation est sous votre entière responsabilité.
Pour modifier ce comportement dans Internet Explorer, utilisez l’Éditeur de Registre (Regedt32.exe) pour ajouter une valeur à la clé de Registre suivante :
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/
Note
La clé de Registre est un chemin d’accès ; il a été encapsulé pour la lisibilité.
Ajoutez les valeurs de Registre suivantes :
- Nom de la valeur :
DisableNTLMPreAuth
- Type de données :
REG_DWORD
- Valeur:
1
Pour modifier ce comportement dans IIS, désactivez l’authentification en mode noyau pour l’application web IIS :
Ouvrez le Gestionnaire iis (Internet Information Services) en exécutant la commande suivante à partir d’une invite de commandes d’administration :
%windir%\System32\inetsrv\inetmgr.exe
Dans le volet Connexions , développez le nom du serveur, développez Sites, puis développez le site, l’application ou le service Web pour lequel vous souhaitez désactiver l’authentification en mode noyau.
Faites défiler jusqu’à la section Sécurité dans le volet Accueil, puis double-cliquez sur Authentification.
Dans le volet Authentification, sélectionnez Authentification Windows.
Sélectionnez Paramètres avancés dans le volet Actions .
Lorsque la boîte de dialogue Paramètres avancés s’affiche, décochez la case Activer l’authentification en mode noyau.
Sélectionnez OK pour fermer la boîte de dialogue Paramètres avancés .
Important
La désactivation de l’authentification en mode noyau peut entraîner l’échec des applications web qui nécessitent l’authentification Kerberos et la délégation.
Plus d’informations
Pour déterminer si l’invite est due au problème décrit dans cet article, utilisez l’outil Fiddler. Utilisez l’outil pour afficher le trafic de requête/réponse HTTP pour la requête résultant de l’invite dans Internet Explorer (ou en mode Internet Explorer dans Microsoft Edge). Vous aurez également besoin des journaux IIS du serveur IIS pour confirmer l’état HTTP et les sous-codes d’état. L’exemple suivant utilise Internet Explorer pour illustrer ce comportement :
Démarrez l’outil Fiddler et activez la capture du trafic.
Accédez à l’application web IIS afin qu’elle entraîne l’invite d’informations d’identification.
Dans Fiddler, recherchez la demande qui a entraîné la 401. En examinant les vues de requête et de réponse brutes, vous verrez des entrées similaires à celles suivantes :
En-têtes de requête :
GET /App1/default.aspx HTTP/1.1 Accept-Language: en-US Accept-Encoding: gzip, deflate Connection: Keep-Alive Host: websitename Cookie: ASP.NET_SessionId=jdzbfpnmacq0jykhxnhqhe3j Authorization: Negotiate <header content omitted>
En-têtes de réponse
HTTP/1.1 401 Unauthorized Content-Type: text/html Server: Microsoft-IIS/7.5 WWW-Authenticate: Negotiate WWW-Authenticate: NTLM X-Powered-By: ASP.NET Date: Wed, 22 Aug 2012 17:41:09 GMT Content-Length: 1293 Proxy-Support: Session-Based-Authentication
Note
La requête initiale adressée à l’application web contient déjà l’en-tête Authorization
, ce qui entraîne ensuite la réponse 401. Le journal IIS correspondant doit afficher une entrée similaire à celle suivante :
2012-08-22 17:41:09 2001:4898:0:fff:200:5efe:157.59.113.72 GET /App1/default.aspx - 80 - 2001:4898:0:fff:0:
5efe:172.18.100.183 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.1;+WOW64;+Trident/5.0;+SLCC2;+.NET+CLR+
2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729;+Media+Center+PC+6.0;+.NET4.0C;+.NET4.0E;+InfoPath.3;+MS-
RTC+EA+2;+BRI/1;+Zune+4.7;+MS-RTC+LM+8;+BRI/2;+Creative+AutoUpdate+v1.41.02) 401 1 2148074254 5005
L’état HTTP et le sous-état sont 401.1, qui correspond à l’accès refusé en raison d’informations d’identification non valides.
Pour plus d’informations, consultez la documentation suivante :