.htaccess für den Tomcat

Heute bin ich auf ein Problem gestoßen, als ich den Zugriff auf eine Tomcat-Webapplikation per Passwort schützen wollte. Also dachte ich mir, dass dies bestimmt ähnlich wie beim Apache-Webserver mittels einer .htaccess-Datei zu verwirklichen ist.

Aber so leicht war dies leider nicht, denn dies funktioniert so nicht. Also entweder einen Apache davor hängen und mit mod_jk verbinden, dass der Apache sich um die Authentifizierung kümmern kann, oder dies im Tomcat selber machen.

Auf der Seite von Martin Schädler habe ich die Lösung für dieses Problem gefunden. Die User- und Passwort-Abfrage lässt sich am Besten im Tomcat mittels eines SecurityConstraints in der web.xml verwirklichen.

Hier ein kleines Beispiel:


  <web-app>
    ...
    </servlet-mapping>
    <security-constraint> 
        <web-resource-collection>
            <web-resource-name>web</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>secure</role-name>
        </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>interner Bereich</realm-name>
    </login-config>
  </web-app>

Zusätzlich muß in der tomcat-users.xml die Rolle internalarea definieren werden und mit einem oder mehreren Usern verknüpft werden….


  <role rolename="secure"/>
  <user username="user" password="pw" roles="secure"/>

Und schon hat man einen gesicherten Bereich in seiner Webapplikation realisiert. ;-)

Quelle: Martin Schädler’s – Tomcat-Tipps