.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
Ich bin hier gelandet, weil meine .htaccess Datei in eclipse nicht mehr angezeigt wird, seitdem ich xampp gestartet habe.
Wiesen sie woran das liegen könnte?
Ich benutze ein Apple mit Tiger OS X.
Oh, ob ich dir hier weiterhelfen kann???
Denn das ist schwierig zu sagen, woran dies liegen könnte, dass deine .htaccess-Datei nicht mehr in Eclipse erscheint. Ob dies wirklich mit deiner Xampp-Installation zusammenhängt?
Auch mit Mac OS X Tiger habe ich bisher leider noch nicht gearbeitet. Sorry…
Aber vielleicht kann ja einer meiner Leser bei diesem Problem weiterhelfen… wer zu diesem Thema etwas sagen möchte, nur raus mit der Sprache…
Hi,
vielen Dank für diesen schnellen Tip. Klappt wie eine 1
das eine .htaccess nicht angezeigt wird ist völlig normal. lass mich raten du bist ein windowsnutzer? denn “versteckte” dateien haben bei unix/linux immer einen punkt am anfang. man muss erst explizit erlauben (z.b. für konfiguration) sie anzuzeigen. also musst du eclipse sagen du willst diese datei sehen. kleiner wink: schaue mal in den eclipse workspace, dort gibt es auch ordner die mit einem punkt beginnen. über sinn und zweck dieser praxis kann man streiten, denn jedes system hat da seinen eigenen verfahrensweisen. bei novell gibt es das benutzerrecht hidden, bei windows muss man ein häckchen setzen in den “datei metadaten” und bei unix/linux gibts den punkt.
Danke, funktioniert wunderbar
Funktioniert leider nicht.
Beim Aufruf im Browser kommt zwar das Fenster in dem man Username und Passwort eingeben muss. Aber trotz richtiger Eingabe wird Username und Passwort nicht akzeptiert.
Danke, funktioniert wirklich ganz einfach!
Meine Empfehlung noch: das PW in ein eigenes ändern ;)
Ich hatte auch erst das Problem, dass die ganze Sache nicht funktionieren wollte.
Zwar kam die Passwortabfrage, allerdings war, egal was ich eingegeben habe, nichts richtig.
Und ich dachte… man… du hast doch alles richtig gemacht oder???
und siehe da ich hab mein Fehler entdeckt.
Ihr müsst darauf achten dass ihr das ganze nicht zwischen den auskommentierten Zeilen schreibt. Das ist mir leider nicht gleich aufgefallen.
So siehts ja standard aus:
<!–
–>
Wenn ihr da was zwischen schreibt wird das natürlich ignoriert.
Ich hoffe ich konnte damit den ein oder anderem Helfen :)
Gibt es nicht eine Möglichkeit das alles Innerhalb der Applikation zu behalten? Unabhängig vom benutzen Applikationsserver :-/