Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

    • Benutzer - Speicherung von Benutzername, Passwort und ggf. zusätzliche nutzerspezifische Informationen. In RapidClipse APIs verwendete Bezeichnungen: User, Subject.

    • Rollen - Speicherung der Rollen die ein Benutzer besitzen kann. In RapidClipse APIs verwendete Bezeichnungen: Roles, Usergroups, Userroles.

    • Rechte - Speicherung der Rechte die eine Rolle besitzen kann. In RapidClipse APIs verwendete Bezeichnungen: Permissions, Resources

    .

Von RapidClipse generierte Datenstruktur 

  • Entities
    • User
      • username | String - Speichert den Benutzernamen als String.
      • password | byte[] - Speichert das Passwort, i.d.R. verschlüsselt als Byte-Array.
      • roles - Set - Liste aller Rollen.
    • Roles
      • name | String -
      • resources | Set -
      • childResources | Set -
      • parentResources | Set -
      • users | Set -
    • Resource
      • name | String -
      • roles | Set -
  • Data Access
    • UserDAO
    • RolesDAO
    • ResourceDAO

Umgang mit vorhandener Datenbank 

...

    • .

...

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
    • Benutzer - Speicherung von Benutzername, Passwort und ggf. zusätzliche nutzerspezifische Informationen. In RapidClipse APIs verwendete Bezeichnungen: User, Subject.

    • Rollen - Speicherung der Rollen die ein Benutzer besitzen kann. In RapidClipse APIs verwendete Bezeichnungen: Roles, Usergroups, Userroles.

    • Rechte - Speicherung der Rechte die eine Rolle besitzen kann. In RapidClipse APIs verwendete Bezeichnungen: Permissions, Resources.

  • Von RapidClipse generierte Datenstruktur 
    • Entities
      • User
        • username | String - Speichert den Benutzernamen als String.
        • password | byte[] - Speichert das Passwort, i.d.R. verschlüsselt als Byte-Array.
        • roles - Set - Liste aller Rollen.
      • Roles
        • name | String -
        • resources | Set -
        • childResources | Set -
        • parentResources | Set -
        • users | Set -
      • Resource
        • name | String -
        • roles | Set -
    • Data Access
      • UserDAO
      • RolesDAO
      • ResourceDAO
  • 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. 

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ärungGängige BezeichungenBenutzer -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 

    EntitiesDAOs
    NameAttributeDatentypErklärung
    UserusernameString
    UserDAO
    passwordbyte[]

    rolesSet

    Role


    nameString
    RoleDAO
    resourcesSet

    childRolesSet

    parentRolesSet

    usersSet

    ResourcenameString
    ResourceDAO
    rolesSet

  • 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.

...

  1. Entity für Berechtigungen bereits vorhanden - Wählen Sie Ihr bereits vorhandenes Entity aus.
    Noch kein Resource Entity vorhanden - Klicken Sie auf New Entity... um ein neues Entity Resource inklusive DAO ResourceDAO anzulegen. 
  2. Wählen Sie bei Mapping > Resource name das Attribut zur Speicherung der Benutzerrechte aus.
  3. Klicken Sie auf Next >.
Optionen:
  • Resource name - Auswahl des Attributs für die Bezeichnung der Benutzerrechte.

Ergebnis:
  • Project Management > Entities - Es wird die Entity-Klasse Resource.java generiert oder durch Auswahl ein bereits existierendes Entity verwendet.

    EntityAttributeDatentyp
    ResourcenameString
  • Project Management > Data Access - Es wird die DAO-Klasse ResourceDAO.java generiert. Bei Auswahl eines bereits existierenden Entities wird kein neues DAO generiert. 

...

  • Project Management > Entities 

    • Role - Es wird die Entity-Klasse Role.java generiert oder durch Auswahl ein bereits existierendes Entity verwendet.

      EntityAttributeDatentyp
      Role


      nameString
      resourcesSet
      childRolesSet
      parentRolesSet
    • Resource - Die Entity-Klasse Resource.java wird um das Attribut roles erweitert.

      EntityAttributeDatentyp
      ResourcenameString
      rolesSet
  • Project Management > Data Access - Es wird die DAO-Klasse RoleDAO.java generiert. Bei Auswahl eines bereits existierenden Entities wird kein neues DAO generiert. 

...

Ergebnis:
  • Project Management > Entities 

    • Role - Die Entity-Klasse Role.java wird um das Attribut users erweitert.  

      EntityAttributeDatentyp
      Role


      nameString
      resourcesSet
      childRolesSet
      parentRolesSet
      usersSetListe aller Benutzer.
    • User - Die Entity Klasse User.java wird um das Attribut roles erweitert.

      EntityAttributeDatentypErklärung
      UserusernameStringSpeichert den Benutzernamen als String.
      passwordbyte[]Speichert das Passwort, i.d.R. verschlüsselt als Byte-Array.
      rolesSetListe aller Rollen.
  • Project Management > Data Access - Es wird die DAO-Klasse RoleDAO.java generiert. Bei Auswahl eines bereits existierenden Entities wird kein neues DAO generiert. 

...