Michi: Login und User-Objekt mit Java/Tomcat

Beitrag lesen

Hallo Forum,

ich würde unter Tomcat/Java ein Loginbereich für Mitglieder machen und frage mich, wie ich dies am besten und relativ sichersten gestalten soll.

1. Ich erstelle auf Loginseite.jsp eine Loginmaske und lasse dem Mitglied Benutzername und Passwort eingeben und an die Datei Checking.jsp schicken (Leider werden die Daten zwar unverschlüsselt verschickt, aber in HTTPS werden wir uns erst im nächsten Semester vertiefen)

2. Ich empfange Username und Passwort und vergleiche, ob es diesen User mit diesem Passwort in der DB gibt. Falls ja bilde ich ein User-Objekt von der DB-Tabelle mit vielen Daten (Username, Alter, Wohnort, PLZ, Geschlecht, usw.) und speichere das Objekt in die Session. In die DB speichere ich die aktuelle SessionID.

3. Sobald der User auf weitere Seiten klickt, wird im Header der JSP-Seiten immer das User-Objekt von der Session geholt. Falls das Objekt nicht "null" ist, wäre der User authentifiziert, falls nicht, hätte er keine Berechtigung und die JSP-Seite wird nicht aufgebaut bzw. redirected. Sollte ich Zwecks Überprüfung zusätzlich zum Objekt, welches in der Session gespeichert ist auch andere Daten jedesmal prüfen?

4. Beim Logout wird einfach die Session gekillt und aus der DB gelöscht.

Wäre dies irgendwie fahrlässig oder was müsste ich noch dabei achten?

Was ich mir noch die ganze Zeit überlege, wie ich das User-Objekt gestalten sollte und welche Daten ich von dem jeweiligen User reinpacken sollte. (eine Single- und Spielcommunity). Zusätzlich überlege ich mir für die DB-Anbindung "Hibernate" heranzuziehen, wobei evtl. eigene Klassen auch ausreichen würden. Wenn ich eigene Daten von dem User-Objekt brauche, packe ich das beim Login gleich in das Objekt und mache später, falls man mehr braucht (Hobbies, Vorlieben, Emailadresse...) eine zusätzliche Select-Abfrage.
Falls man sich auf andere Profile klickt, hole ich einfach mit einem Select all die nötigen Daten des anderen Benutzers in ein Array, bzw. Vector und platziere die einzelnen Ausgaben auf der jweiligen Profilseite.

Der Anfangsplanung ist irgendwie schwierig, wenn man ein Projekt startet, damit man später bei Änderung bzw. Erweiterung etwas flexibel ist.

Grüße