Hi,
ich hoffe, ich poste in diesem Bereich richtig, denn das hätte auch gut zu allgemeinen Java-Themen gepasst, aber gut...
Es geht darum, dass ich gerne eine Benutzer- und Rechteverwaltung in meiner GUI-Anwendung hätte (hey, noch ein möglicher Threadauffangskandidat) und ich überlege mir gerade, wie ich das am besten umsetze...
So habe ich mir das bisher gedacht:
Nach erfolgreichem Login, wird die User-ID statisch irgendwo gesetzt, auf die ich dann während der ganzen "Session" Zugang habe.
Neben der User-Tabelle, erstelle ich eine Rechte-Tabelle mit User-ID als Schlüssel und der Rest sind quasi boolsche Columns mit Namen wie "editUsers", etc.
Dann erstelle ich mir eine statische Methode, der ich einen String (Column-Name) übergebe. Diese Methode verbindet sich zur Datenbank, guckt unter der User-ID in der Rechtetabelle nach übergebenem Spaltennamen und gibt mir den darin befindlichen Wert zurück...
Noch in dieser Methode lasse ich dann bei "false" eine Systemmeldung a la "Keine gültigen Rechte für diese Operation" ausgeben.
So kann ich dann in der GUI-Anwendung bei Aufruf der Methode editUser(int pID) als erste Zeile den Befehl checkRightsFor('editUser') setzen und bei false direkt herausspringen...
Wie denkt ihr darüber? Kann man das so machen oder wo gibt es Probleme bzw. wo ist das nicht wirklich optimal umgesetzt?
Freue mich auf Anregungen und schon mal vielen Dank im Voraus
ich hoffe, ich poste in diesem Bereich richtig, denn das hätte auch gut zu allgemeinen Java-Themen gepasst, aber gut...
Es geht darum, dass ich gerne eine Benutzer- und Rechteverwaltung in meiner GUI-Anwendung hätte (hey, noch ein möglicher Threadauffangskandidat) und ich überlege mir gerade, wie ich das am besten umsetze...
So habe ich mir das bisher gedacht:
Nach erfolgreichem Login, wird die User-ID statisch irgendwo gesetzt, auf die ich dann während der ganzen "Session" Zugang habe.
Neben der User-Tabelle, erstelle ich eine Rechte-Tabelle mit User-ID als Schlüssel und der Rest sind quasi boolsche Columns mit Namen wie "editUsers", etc.
Dann erstelle ich mir eine statische Methode, der ich einen String (Column-Name) übergebe. Diese Methode verbindet sich zur Datenbank, guckt unter der User-ID in der Rechtetabelle nach übergebenem Spaltennamen und gibt mir den darin befindlichen Wert zurück...
Noch in dieser Methode lasse ich dann bei "false" eine Systemmeldung a la "Keine gültigen Rechte für diese Operation" ausgeben.
So kann ich dann in der GUI-Anwendung bei Aufruf der Methode editUser(int pID) als erste Zeile den Befehl checkRightsFor('editUser') setzen und bei false direkt herausspringen...
Wie denkt ihr darüber? Kann man das so machen oder wo gibt es Probleme bzw. wo ist das nicht wirklich optimal umgesetzt?
Freue mich auf Anregungen und schon mal vielen Dank im Voraus