# Loginbereich mit Session und Datenbank



## JensMander (4. Feb 2011)

Hallo Forum,
aktuell stehe ich vor einer neuen Herrausforderung, ich möchte für meine Homepage einen Loginbereich programmieren, dabei habe ich mehrere Seiten mit Inhalt gefüllt. Seite X und Y dürfen aber nur registrierten Nutzern zugänglich sein.
Ich habe eine extra Seite mit einem FOrmular über welches Passwort und Nutzername eingegeben werden können.
Nun wünsche ich das ein Servlet Nutzernamen und Passwort in einer Datenbank kontrolliert(bis zur Datenbank abfrage ist dieses bereits fertig) und die Nutzer auf eine Errorpage weiterleitet bzw. den Zugang zu Seite X/Y gewährleistet.
Seite x und Y dürfen wirklich nur nach erfolgreichem Login aufrufbar sein, aktuell habe ich es so dass der Aufruf durch die entsprechende EIngabe im Browser möglich ist.


Ich hatte mir das so gedacht dass es über Sessions gehen müsste. Nur habe ich leider kein Tutorial gefunden welches mir dieses erklärt.
Habt ihr einen Rat, wo ich suchen sollte???
vielen Dank


----------



## maki (4. Feb 2011)

JAAS

Wenn du Tomcat nutzt, kannst du dir auch mal die Doku zu den Tomcat Security Realms ansehen, ansosnten eben die Doku zu deinem Server.


----------



## JensMander (4. Feb 2011)

hi, das habe ich prinzipiell schon hinbekommen, auf meinem eigenen lokalen server geht das auch, aber die /conf/tomcat-users.xml darf ich leider nicht anfassen. besteht da alternativ die Möglichkeit in mein Projekt eine extra tomcat-users.xml zu nutzen?
okay man kann den pathname im realm-tag der entsprechenden xml-datei (web.xml??) anpassen. werde mich erstmal weiterbelesen. vorerst genug stoff fürs wochenende. danke schön.

mfg
Jens


----------



## maki (4. Feb 2011)

Was heisst "prinzipiel hinbekommen"?

Die tomcat-users.xml musst du nicht zu verändern, die Authentifizierung soll doch über eine RDBMS laufen.


----------



## JensMander (4. Feb 2011)

mit prinzipiell hinbekommen meinte ich, das ich es schon geschafft habe indem ich nutzer und rollen in tomcat-users festgelegt habe, dachte aber es funktioniert nicht weiter mit ner datenbank, habe nach deinem hinweis aber noch einmal tiefer in die materie hineingehorcht und den entscheidenden hinweis gefunden, werde es also mit hilfe von realms machen-vielen dank


----------



## JensMander (8. Feb 2011)

Hallo Forum,
ich habe jetzt viel getestet und viel ausprobiert. Nur zwei (hoffentlich kleine) Fragen hätte ich da noch.

Hier zu erst einmal meine Ergänzungen in der web.xml:

```
<security-constraint>
		<web-resource-collection>
			<web-resource-name>
			Dias
			</web-resource-name>
			<url-pattern>/secure/*</url-pattern>
		</web-resource-collection>
		<auth-constraint>
			<role-name>dias</role-name>
		</auth-constraint>
	</security-constraint>
	<login-config>
		<auth-method>
		FORM
		</auth-method>
		<form-login-config>
			<form-login-page>/secure/login.jsp</form-login-page>
			<form-error-page>/secure/error.jsp</form-error-page>
		</form-login-config>
	</login-config>
```

Nun hätte ich gerne zwei Änderungen, bei denen ich mir nicht sicher bin ob diese Möglich sind.

Urrsprünglich greift TOmcat jetzt auf die eigenen Tomcat-users.xml zu, nun habe ich aber eine alternative Datei in meinem Projectordner abgelegt, wie spreche ich diese an? Meines erachtens mit dem tag <pathname> ich bin mir jedoch nicht im Klaren, wo ich diesen einfügen muss?

Und die zweite Frage, sollte ich doch einmal auf die Idee kommen das ganze Dateiunabhängig mit einer Datenbank zu lösen, kann ich den Realm Tag aus der Tomcat-Server.xml auch in einer Datei im Projektordner unterbringen?

mit freundlichem Gruß
Jens


----------

