# Verzeichnisse und Dateien mit Passwort schützen bei Tomcat 5



## padde479 (25. Jan 2006)

Hallo zusammen!

Ich habe eine Web-Anwendung auf einem Tomcat-Server als _standalone_ laufen. Nun möchte ich, bevor man auf die index-Seite gelangt, diese durch ein Passwort schützen. Wie ganau mache ich das bei Tomcat? Ich habe schon etwas über _.htaccess_-Dateien gelesen, das klappt aber leider nicht. Kann mir da jemand vielleicht weiter helfen?

Gruß
Padde[/i]


----------



## Bleiglanz (25. Jan 2006)

http://www.java-forum.org/de/viewtopic.php?t=23115&highlight=web+xml+security


----------



## padde479 (25. Jan 2006)

Okay, 

ich habe was gefunden und bei mir in der _web.xml_ folgendes ergänzt:


```
<security-constraint>
     <display-name>Websheet Security-Constraint</display-name>
     <web-resource-collection>
      <web-resource-name>diplom</web-resource-name>
       <url-pattern>*.jsp</url-pattern>
       <url-pattern>*.html</url-pattern>
      </web-resource-collection>
      <auth-constraint>
       <role-name>tomcat</role-name>
      </auth-constraint>
    </security-constraint>

    <login-config>
     <auth-method>FORM</auth-method>
     <realm-name>tomcat</realm-name>
     <form-login-config>
      <form-login-page>/login.jsp</form-login-page>
      <form-error-page>/error.jsp</form-error-page>
     </form-login-config>
    </login-config>

    <security-role>
     <description>
      The role that is required to log in to the Websheet Application
     </description>
     <role-name>tomcat</role-name>
    </security-role>
```

In der Datei _tomcat-users.xml_ habe ich folgende Zeile:


```
<user username="tomcat" password="tomcat" roles="tomcat"/>
```

Bei meiner Web-App kommt jetzt immer ein Anmeldefenster, was ich selbst definert habe, allerdings funktionieren jetzt nicht Benutzername und Passwort, die in der Datei _tomcat-users.xml_ stehen, wie oben angegeben. Wo liegt denn jetzt der Fehler?

Gruß
Padde


----------



## Bleiglanz (26. Jan 2006)

Neustart?

und in der server.xml beim Realm bekanntgeben, dass die xml-Datei benutzt wird

schau in die Doku vom Tomcat (auch unter localhost:8080 zu finden) und lies den Zeug über Realms


----------



## padde479 (26. Jan 2006)

Am Neustart kann's nicht liegen. Habe ich schon des öfteren probiert, führt zu keinem Erfolg.

Was soll ich denn in der _server.xml_ bekannt geben? Wie geschieht das denn?  :?: 

Noch einmal eine grundsätzliche Frage: Durch die Angabe von _username_ und _password_ legt man einen authorisierten Benutzer für die Web-App an. Im Security-Manager der Datei _WEB-INF/web.xml_ legt man die _auth-method_ fest. Wenn man dann die From-Methode benutzt, muss man die Parameter aus dem Formular verarbeiten, oder übernimmt das Tomcat? Vielleicht liegt ja da mein Fehler? Ich lese nämlich die beiden Parameter _Benutzername_ und _Passwort_ über ein Formular ein, und leite dann nur eine andere Übersichtseite weiter, ohne auf Gültigkeit der eingegebenen Werte zu prüfen. Das sollte doch Tomcat machen, oder?

Gruß
Padde


----------



## Bleiglanz (26. Jan 2006)

nein, so gehts nicht:

es ist genau vorgeschrieben, wie die Formular-Felder für Benutzer und Passwort heissen müssen (j_username ...) und wohin das <form> geschickt wird (übernimmt alles der Tomcat)


lies bitte die Doku -> form based Athentication


----------

