Kategorien
Tutorials

Tomcat Passwortschutz für Webapplikationen

Im Tomcat lassen sich Webapplikationen mit einem Kennwort schützen. Dafür müssen lediglich einige Konfigurationsdateien bearbeitet werden. Wie sich ein Tomcat Passwortschutz für den Tomcat oder für einzelne Webapplikationen einrichten lässt, zeigt diese kurze Anleitung.

Getestet wurde dieser Artikel unter Windows mit Tomcat 8.5.6 und 8.5.15.

Bevor wir den Kennwortschutz für den Tomcat aktivieren, müssen wir eine neue Rolle und einen entsprechenden Benutzer in der Konfigurationsdatei tomcat-users.xml erstellen:

<!-- Passwortschutz für Webapplikationen -->
<role rolename="protected"/>
<user username="user" password="password" roles="protected"/>

Die obige Konfiguration kann einfach vor dem schließenden tomcat-users Tag </tomcat-users> eingefügt werden. Der Benutzer user ist in diesem Beispiel mit der Rolle protected verknüpft. Als nächstes muss die entsprechende Webapplikation mit der vorhin definierten Rolle verknüpft werden. Diese Konfiguration nimmt man in der Konfigurationsdatei web.xml vor. Sollen alle Webapplikationen auf dem Tomcat mit dem Kennwort geschützt sein, befindet sich die richtige web.xml-Datei im Verzeichnis conf im Tomcat Installationsverzeichnis. Sollen nur bestimmte Webapplikationen mit dem Kennwort geschützt werden, muss die web.xml der entsprechenden Applikation editiert werden. Diese befindet sich im Verzeichnis der entsprechenden Webapplikation: WEB-INF\web.xml. Sollte das Verzeichnis WEB-INF oder die Datei web.xml nicht vorhanden sein, können diese einfach erstellt werden.

In der Datei web.xml ist schließlich folgende Konfiguration hinzuzufügen:

<!-- Passwortschutz für Webapplikationen -->
<web-app>
<security-constraint> 
 <web-resource-collection>
 <url-pattern>/*</url-pattern>
 </web-resource-collection>
 <auth-constraint>
 <role-name>protected</role-name>
 </auth-constraint>
</security-constraint>
<login-config>
 <auth-method>BASIC</auth-method>
 <realm-name>Webapps</realm-name>
</login-config>
</web-app>

Wenn man alle Applikationen mit dem Kennwort schützen möchte, ist in der obigen Konfiguration das Tag <web-app> und </web-app> zu entfernen, da diese bereits vorhanden sind. Die Konfiguration ist dann vor dem schließenden web-app Tag </web-app> in der Datei conf\web.xml hinzuzufügen.

Sollten die Änderungen an den Konfigurationsdateien keine Wirkung zeigen, kann es helfen den Tomcat neu zu starten oder den Cache des Browsers zu leeren bzw. im privaten Modus auf die Tomcat Applikation zuzugreifen.

Nach erfolgter Konfiguration sollte der Tomcat Passwortschutz funktionieren und der Browser nach einem Benutzer und Kennwort fragen:

Passwortabfrage im Tomcat

Mit dieser Konfiguration werden Benutzername und Passwort in Klartext übertragen. Man sollte sich also Gedanken machen, ob eine SSL-Verschlüsselung für den Tomcat sinnvoll ist.


Quellen
http://www.informatik-student.de/2006/09/06/htaccess-fuer-den-tomcat/

Seit mehreren Jahren begeistere ich mich privat und beruflich für die IT. Das habe ich dann auch zum Anlass genommen, diesen Blog ins Leben zu rufen, um dort praxisnahe Tutorials über verschiedene IT-Themen zu schreiben und meine selbst geschriebene Software zu veröffentlichen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert