NTLM-Authentifizierung
NTLM ist das komplexeste der Authentifizierungsprotokolle, die von einem Standard-Webserver unterstützt werden.
NTLM ist das komplexeste der Authentifizierungsprotokolle, die von einem Standard-Webserver wie unterstützt werden HTTPClient . Es handelt sich um ein proprietäres Protokoll, das von entworfen wurde Microsoft Ohne öffentlich verfügbare Spezifikation. Frühe Versionen von NTLM waren aufgrund von Fehlern im Design weniger sicher als die Digest-Authentifizierung. Diese wurden jedoch in einem Service Pack für Windows NT 4 behoben, und das Protokoll gilt jetzt als sicherer als die Digest-Authentifizierung.
Die NTLM-Authentifizierung erfordert, dass eine Instanz von NTCredentials für den Domänennamen des Servers oder die Standard-Anmeldeinformationen verfügbar ist. Da NTLM nicht den Begriff „Bereiche“ verwendet, verwendet HttpClient den Domänennamen des Servers als Namen des Bereichs. Außerdem darf dem Anwendernamen, der den NTCredentials bereitgestellt wird, nicht die Domäne vorangestellt werden:
- Richtig: adrian
- Falsch: DOMÄNE\adrian
Es gibt einige erhebliche Unterschiede in der Funktionsweise von NTLM im Vergleich zur Standard- und Digest-Authentifizierung. Diese Unterschiede werden im Allgemeinen von HttpClient behandelt. Wenn Sie diese Unterschiede verstehen, können Sie jedoch Probleme bei der Verwendung der NTLM-Authentifizierung vermeiden.
- Die NTLM-Authentifizierung funktioniert in Bezug auf die HttpClient-API fast genau wie jede andere Form der Authentifizierung. Der einzige Unterschied besteht darin, dass Sie NTCredentials anstelle von UsernamePasswordCredentials bereitstellen müssen (NTCredentials erweitert UsernamePasswordCredentials, sodass Sie NTCredentials bei Bedarf direkt in Ihrer Anwendung verwenden können).
- Der Bereich für die NTLM-Authentifizierung ist der Domänenname des verbundenen Computers. Dies kann problematisch sein, da Server häufig mehrere Domänennamen haben. Nur der Domänenname, mit dem HttpClient eine Verbindung herstellt, wie in der HostConfiguration angegeben, wird zum Suchen der Anmeldeinformationen verwendet. Beim anfänglichen Testen der NTLM-Authentifizierung ist es am besten, den Bereich als Null zu übergeben, was als Standard verwendet wird.
- NTLM authentifiziert eine Verbindung und keine Anforderung. Daher müssen Sie sich jedes Mal authentifizieren, wenn eine neue Verbindung hergestellt wird, und es ist wichtig, die Verbindung während der Authentifizierung offen zu halten. Aus diesem Grund kann NTLM nicht für die Authentifizierung mit einem Proxy-Server und dem Webserver verwendet werden, und NTLM kann nicht mit HTTP 1,0-Verbindungen oder Webservern verwendet werden, die keine HTTP-Keep-Alives unterstützen.
Hinweis:
Legen Sie diese Eigenschaften über die Systemeigenschaften fest
[sys_properties] Tabelle.| Eigenschaft | Beschreibung | Beispiele |
|---|---|---|
| glide.http.proxy_ntusername | Geben Sie den Benutzernamen an, der zum Authentifizieren des Proxyservers mit NTLM-Authentifizierung verwendet wird.
|
username |
| glide.http.proxy_ntpassword | Geben Sie das Passwort an, mit dem der Proxyserver mit NTLM-Authentifizierung authentifiziert wird.
|
Passwort |
| glide.http.proxy_nthost | Geben Sie den Hostnamen an, der zur Authentifizierung des Proxyservers mit NTLM-Authentifizierung verwendet wird.
|
Nthost |
| glide.http.proxy_ntdomain | Geben Sie die Domäne an, die zum Authentifizieren des Proxyservers mit NTLM-Authentifizierung verwendet wird.
|
DOMAIN |