Ich versuche, eine Verbindung zum Tomcat Web Server auf meinem Computer mit einer Digest-Authentifizierung herzustellen. Ich benutze die Speicherwelt von Tomcat. Hier ist, wie der Server konfiguriert ist:
1) In server.xml:
%Vor%2) In tomcat-users.xml
%Vor%3) In web.xml meines Webprojekts:
%Vor%Wie Sie sehen können, habe ich als Digest-Methode "MD5" angegeben und das Passwort mit der Datei "Digest.sh" von Tomcat verschlüsselt.
Hier ist mein Code auf der Client-Seite:
%Vor%Ich denke, dass mein clientseitiger Code in Ordnung ist und auch die Konfiguration des Servers. Obwohl der Server mir weiterhin den Statuscode 401 mit der Nachricht "Nicht autorisiert" sendet. Da ich kein erfahrener Java-Entwickler bin, möchte ich fragen, ob jemand eine Idee hat oder einen Fehler in meiner Implementierung sieht.
Vielen Dank im Voraus!
Die Digestauthentifizierung ist weitaus komplexer als das Senden von username:password
(das ist eigentlich die Standardauthentifizierung ... und das username:password
-Tupel muss Base64-codiert sein!).
Sie können alles über Digest hier lesen.
Wenn Sie HttpUrlConnection
nicht benötigen, sehen Sie sich diese zwei Projekte an:
Beide unterstützen bereits Digest (und andere nützliche Dinge) aus der Box.
HttpUrlConnection ist OK für einfache Jobs, aber wenn Sie etwas mit erweiterten Funktionen (wie Digest-Authentifizierung) möchten, würde ich Commons HTTP-Client.
Tags und Links java