Für die Umsetzung von Autorisierung werden in der Datenbank 3 Tabellen für die Verwaltung von Benutzer, Rollen und Rechte benötigt, die durch eine n:m Relation miteinander verknüpft sind. Per Assistent können Sie sich die entsprechenden Entities dafür generieren lassen. Zusätzlich werden die Entities durch ein Mapping miteinander verknüpft. Dadurch kann RapidClipse mit belibigen Bezeichnungen von Entities und Attributen umgehen. Falls das Standard-Mapping für Ihre Datenstruktur ungeeignet ist, können Sie dafür benutzerdefinierte Abfragen definieren.
Benötigte Datenstruktur allgemein
Erklärung Gängige Bezeichungen Benutzer -Speicherung von Benutzername, Passwort und ggf. zusätzliche nutzerspezifische Informationen - User
- Subject
Rollen - Speicherung der Rollen die ein Benutzer besitzen kann. - Roles
- Groups
- Usergroups
- Userroles
Rechte - Speicherung der Rechte die eine Rolle besitzen kann. - Permissions
- Resources
Von RapidClipse generierte Datenstruktur
Entities DAOs BezeichnungName Attribute Datentyp Erklärung User username String UserDAO password byte[] roles Set Role name String RoleDAO resources Set childRoles Set parentRoles Set users Set Resource name String ResourceDAO roles Set Umgang mit vorhandener Datenbank - Sind in Ihrer Datenbank bereits Tabellen für die Verwaltung von Benutzern, Rollen und Rechten vorhanden, stellen Sie sicher, dass für jede Tabelle ein entsprechendes Entity mit dazugehörigem DAO in Ihrem Project Management unter Entities bzw. Data Access vorhanden ist. Falls nicht, können Sie die fehlenden Entities und DAOs mit der Import-Funktion Create JPA entities from table generieren lassen. Abweichende Tabellen- und Datenfeldnamen stellen auf Grund des später durchgeführten Mappings kein Problem dar.
Hinweis:
Synchronisierung - Die Entities User und Usergroups müssen zur Laufzeit synchronisiert werden.
...
Resource Tabelle definieren / generieren
- Entity für Berechtigungen bereits vorhanden - Wählen Sie Ihr bereits vorhandenes Resource Entity aus.
Noch kein Resource Entity vorhanden - Klicken Sie auf New Entity... um ein neues Entity Resource inklusive DAO ResourceDAO anzulegen. - Wählen Sie bei Mapping > Resource name das Attribut zur Speicherung von Rechten der Benutzerrechte aus.
- Klicken Sie auf Next >.
Optionen:
Resource name - Attribut zur Speicherung der Bezeichnung von Benutzerrechten.
Ergebnis:
Project Management > Entities - Es wird die Entity-Klasse Resource.java generiert oder durch Auswahl ein bereits existierendes Entity verwendet.
Entity Attribute Datentyp Erklärung Resource name String roles Set Project Management > Data Access - Es wird die DAO-Klasse ResourceDAO.java generiert. Bei Auswahl eines bereits existierenden Entities wird kein neues DAO generiert.
Roles Tabelle definieren / generieren
...