Delen via


Er wordt een onverwachte 401.1-status geretourneerd wanneer u headers vóór verificatie gebruikt met Internet Explorer en IIS

In dit artikel wordt het probleem opgelost waarbij een onverwachte 401.1-status wordt geretourneerd met headers vóór verificatie. Dit gebeurt wanneer u Internet Explorer gebruikt om te browseren naar een webtoepassing die wordt gehost op IIS (Internet Information Services).

Oorspronkelijke productversie: Internet Explorer-modus in Microsoft Edge, Internet Explorer 11, Internet Information Services
Oorspronkelijk KB-nummer: 2749007

Symptomen

Bekijk het volgende scenario:

  • U gebruikt Internet Explorer (of de Internet Explorer-modus in Microsoft Edge) om door een webtoepassing te bladeren die wordt gehost op IIS.
  • De clientcomputer is geconfigureerd voor het gebruik van verificatie vooraf in internetinstellingen en verificatie in kernelmodus is ingeschakeld in IIS.
  • De webaanvraag die is verzonden door Internet Explorer (of de Internet Explorer-modus in Microsoft Edge) is de eerste aanvraag die naar de IIS-toepassing moet worden verzonden.

In dit scenario kan IIS een HTTP-antwoord (HyperText Transfer Protocol) 401.1 retourneren naar Internet Explorer (of internet Explorer-modus in Microsoft Edge) als reactie op de aanvraag van de browser. In de webbrowser wordt u mogelijk gevraagd uw gebruikersnaam en wachtwoord in te voeren. Of een HTTP 401.1-foutbericht wordt mogelijk weergegeven in het browservenster.

Oorzaak

Dit is zo ontworpen. Het 401.1-antwoord treedt op als de eerste aanvraag van de webbrowser die naar de IIS-toepassing wordt verzonden, een van de volgende headers bevat:

  • Een Windows-vraag/antwoordheader (NTLM)
  • Een onderhandelingen over WWW-Authorization-header (ook wel pre-verificatie genoemd)

Notitie

Er zijn veel redenen waarom een gebruiker mogelijk wordt gevraagd om referenties in Internet Explorer die buiten het bereik van dit artikel vallen. Zie de sectie Meer informatie voor meer informatie over het bepalen of de oorzaak van de prompt afkomstig is van het probleem dat hier wordt beschreven.

Tijdelijke oplossing

Als u dit gedrag wilt omzeilen, schakelt u Verificatie vooraf in internetinstellingen uit of schakelt u Verificatie van kernelmodus voor de IIS-webtoepassing uit.

Waarschuwing

Als u de Register-editor onjuist gebruikt, kan dit ernstige problemen veroorzaken waardoor u het besturingssysteem mogelijk opnieuw moet installeren. Microsoft kan niet garanderen dat u problemen kunt oplossen die het gevolg zijn van het onjuist gebruik van de Register-editor. Het gebruik van de Register-editor is dan ook voor uw eigen risico.

Als u dit gedrag in Internet Explorer wilt wijzigen, gebruikt u registereditor (Regedt32.exe) om een waarde toe te voegen aan de volgende registersleutel:

HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/

Notitie

De registersleutel is een pad; het is verpakt voor leesbaarheid.

Voeg de volgende registerwaarden toe:

  • Waardenaam: DisableNTLMPreAuth
  • Gegevenstype: REG_DWORD
  • Waarde: 1

Als u dit gedrag in IIS wilt wijzigen, schakelt u Verificatie van kernelmodus voor de IIS-webtoepassing uit:

  1. Open IIS-beheer (Internet Information Services) door de volgende opdracht uit te voeren vanaf een beheeropdrachtprompt:

    %windir%\System32\inetsrv\inetmgr.exe
    
  2. Vouw in het deelvenster Verbindingen de servernaam uit, vouw Sites uit en vouw vervolgens de site, toepassing of webservice uit waarvoor u kernelmodusverificatie wilt uitschakelen.

  3. Schuif naar de sectie Beveiliging in het deelvenster Start en dubbelklik op Verificatie.

  4. Selecteer Windows-verificatie in het deelvenster Verificatie.

  5. Selecteer Geavanceerde instellingen in het deelvenster Acties .

  6. Wanneer het dialoogvenster Geavanceerde instellingen wordt weergegeven, schakelt u het selectievakje Verificatie in de kernelmodus inschakelen uit.

  7. Selecteer OK om het dialoogvenster Geavanceerde instellingen te sluiten.

Belangrijk

Als u kernelmodusverificatie uitschakelt, kan dit ertoe leiden dat webtoepassingen waarvoor Kerberos-verificatie en -delegering is vereist, mislukken.

Meer informatie

Gebruik het hulpprogramma Fiddler om te bepalen of de prompt wordt veroorzaakt door het probleem dat in dit artikel wordt beschreven. Gebruik het hulpprogramma om het HTTP-aanvraag-/antwoordverkeer voor de aanvraag weer te geven, wat resulteert in de prompt in Internet Explorer (of de Internet Explorer-modus in Microsoft Edge). U hebt ook de IIS-logboeken van de IIS-server nodig om de HTTP-status en substatuscodes te bevestigen. In het volgende voorbeeld wordt Internet Explorer gebruikt om dit gedrag te illustreren:

  1. Start het Fiddler-hulpprogramma en schakel verkeersopname in.

  2. Blader naar de IIS-webtoepassing, zodat deze resulteert in de prompt om referenties.

  3. Zoek in Fiddler naar de aanvraag die heeft geresulteerd in de 401. Als u de onbewerkte aanvraag- en antwoordweergaven bekijkt, ziet u vermeldingen die vergelijkbaar zijn met de volgende:

    Aanvraagheaders:

    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>
    

    Antwoordheaders

    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
    

Notitie

De eerste aanvraag voor de webtoepassing bevat al de Authorization header, wat resulteert in het 401-antwoord. In het bijbehorende IIS-logboek moet een vermelding worden weergegeven die vergelijkbaar is met de volgende:

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

De HTTP-status en substatus zijn 401.1, die wordt toegewezen aan Toegang geweigerd vanwege ongeldige referenties.

Voor meer informatie raadpleegt u de volgende documentatie: