# Datenbanklogin über JSF



## ChristianB (14. Jun 2011)

Hallo,

stecke gedanklich ein wenig fest und hoffe mir kann jemand einen kleinen Tipp geben!

Es geht darum, sich über eine loginpage (jsf) anzumelden. Wenn der login klappt soll eine Tabelle angezeigt werden (Datenbankzugriff erfolgt über dieselben Logindaten).

Was ich nun möchte ist eine globale Datenbankzugriffsklasse (application scope) und damit verbunden eine statische getConnection(user,password) Methode um eine Connection zu bekommen.

Wo ich nun gedanklich hänge ist, wie ich beim BackingBean für die Table Zugriff auf die Logindaten bekomme. Der BackingBean der Table benötigt eine Connection um die Datenabfrage für die Tabelle durchzuführen und dafür werdem die userspezischen Logindaten benötigt.  Diese liegen in der BackingBean der loginpage. Wie kann ich die Logindaten (sinnvoll) so ablegen, dass ich von der Table BackingBean darauf Zugriff erhalte?

Hoffe ich habe es einigermaßen verständlich erklärt 

Danke und Grüße,
Chris


----------



## gman (14. Jun 2011)

Im Normalfall sind Anmeldung (z.B. Jaas) und Datenbankzugriff (z.B. JPA) voneinander getrennt. Ich glaube am
ehesten lässt sich deine Anforderung noch durch Rollen (Spring?) umsetzten, allerdings müssten dann die 
Zuordnungen gepflegt werden.


----------



## ChristianB (15. Jun 2011)

Die Technologien, die du genannt hast, kenne ich jetzt nur vage vom Namen her.

Vielleicht kannst du (oder jemand anders) noch was zu folgender Herangehensweise sagen:

Der Datenbankzugriff erfolgt über einen Connection Pool des Webservers (Glassfish 3). Der Webserver hat also einen zentralen Zugriff auf die Datenbank (also im Prinzip eigener Benutzer in der DB für den Webserver). Das Prüfen des der Logindaten des Anwenders in der Webanwendung erfolgt über die Connection des Webservers. D.h. es wird über den zentralen Zugriff des Webservers geprüft, ob der Anwender die nötigen Rechte besitzt. 

Klingt für mich nach einem sinnvolleren Ansatz. Heißt im Prinzip, dass man die Zugriffsregelung, wie du schon sagst unabhängig von der Datenbankanbindung implementiert.

Was haltet ihr davon? 

danke und Grüße,
Chris


----------



## Gast2 (15. Jun 2011)

Mit dem Glasfish3 kannst du doch eigene LoginModule und Realms verwenden.


----------

