Zum Inhalt springen

Benutzerbereitstellungsanwendung in Jitterbit App Builder

Einführung

Diese Seite zeigt dir, wie man eine Benutzerbereitstellungsanwendung erstellt, die Front-End-Benutzer verwenden können, um Anwendungszugriff auf halbautomatische Weise bereitzustellen, ohne Zugriff auf die IDE zu benötigen. Dies ist ein alternativer Ansatz zur Verwaltung des Benutzerzugriffs, wenn kein Identitätsanbieter (wie Okta oder Azure) verfügbar ist.

Der Prozess umfasst das Erstellen von Sicherheitsanbietern, das Konfigurieren von Realms, das Vorbereiten des Datenmodells, das Erstellen einer Reihe von Geschäftsregeln zur Verarbeitung der Logik und das Erstellen einer einfachen Benutzeroberfläche für Front-End-Benutzer zum Auslösen des Prozesses.

Diese Anleitung verwendet das Beispiel, Mitarbeitern eines Unternehmens Zugriff zu gewähren. Die Anleitung ist in fünf Schritte unterteilt:

Vorbereitung

Erstelle zunächst eine dedizierte App für die Benutzerbereitstellung. Die in diesem Tutorial verwendete App heißt einfach User Provisioning App und beginnt mit den folgenden Tabellen:

Tabelle Spalten
Employee EmployeeID (Eindeutige ID, PK), FullName (String), Email (String), EmployeeNo (String)
Department DepartmentID (Eindeutige ID, PK), Name (String)
Parameter ParameterID (Eindeutige ID, PK)

Während der folgenden Schritte werden diesen Tabellen weitere Spalten hinzugefügt.

Schritt 1: Anfängliche Konfiguration

Zunächst benötigst du einen Sicherheitsanbieter zur Verarbeitung der Bereitstellung und einen Platz zum Speichern seiner Konfigurationsdetails.

Sicherheitsanbieter erstellen

Führe folgende Schritte aus, um einen Sicherheitsanbieter zu erstellen:

  1. Wähle IDE > Sicherheitsanbieter.

  2. Klicke + Sicherheitsanbieter.

  3. Konfiguriere den Anbieter mit diesen Einstellungen:

    • Name: User Provisioning

      Hinweis

      Nicht zu verwechseln mit der Bereitstellungsanwendung selbst, die User Provisioning App heißt.

    • Typ: Benutzerbereitstellung

    • Aktiviert: Aktiviert.

    • Benutzerbereitstellung: Aktiviert.

  4. Klicke Speichern.

  5. Kopiere und speichere den Identifier-Schlüssel des neuen Anbieters für den nächsten Schritt.

Konfiguration parametrisieren

Führe folgende Schritte aus, um die Anbieter-ID und ein Standardkennwort in der Parameter-Tabelle deiner Anwendung zu speichern:

  1. Führe deine Benutzerbereitstellungsanwendung aus, wechsle dann zur Registerkarte Tabellen der App Workbench.

  2. Suche unter Tabellen die Parameter-Tabelle und klicke auf ihr Symbol Datensatz öffnen.

  3. Füge die folgenden zwei Spalten hinzu:

    • MyProviderID (Typ: Eindeutige ID)

    • DefaultPassword (Typ: String)

  4. Wechsle zur Registerkarte Seiten der App Workbench.

  5. Suche unter Seiten die Seite Parameter und klicke auf ihr Symbol .

  6. Füge der Seite neue Steuerelemente (Steuerelementtyp Text) für die Spalten MyProviderID und DefaultPassword hinzu.

  7. Führe die Anwendung aus und wähle Konfiguration > Parameter. Das Popup Parameter wird geöffnet.

  8. Klicke Bearbeiten.

  9. Füge die Sicherheitsanbieter-ID (die zuvor kopiert wurde) in das Feld MyProviderID ein.

  10. Geben Sie ein sicheres Standardkennwort in das Feld DefaultPassword ein. Dies ist das Kennwort, das neuen Benutzern zugewiesen wird.

  11. Klicke Speichern und schließe dann das Popup Parameter.

Schritt 2: Zugriffskontrolle konfigurieren

Mit dem erstellten Anbieter kannst du jetzt die Benutzergruppen und Realms konfigurieren, die den Zugriff steuern. Führe folgende Schritte aus:

  1. Wähle IDE > Benutzerverwaltung.

  2. Wähle die Registerkarte Gruppen.

  3. Klicke + Gruppe. Das Popup Gruppe wird geöffnet.

  4. Lege die folgenden Werte fest:

  5. Name: Demo General User

  6. Description: General user permissions for the demo app.

  7. Klicken Sie auf Save, und schließen Sie das Popup Group.

  8. Klicken Sie unter Groups auf Manage Privileges für die neue Gruppe.

  9. Klicken Sie unter Privileges auf Create. Das Popup Privilege wird geöffnet.

  10. Legen Sie die folgenden Werte fest:

    • Type: Wählen Sie Application.

    • Application: Öffnen Sie das Menü und wählen Sie die App aus, auf die Endbenutzer zugreifen werden.

    Hinweis

    Die App, die Sie hier auswählen sollten, ist diejenige, bei der sich Endbenutzer anmelden. Dies kann die Bereitstellungs-App selbst sein oder auch nicht. In diesem Tutorial wurde eine dedizierte Bereitstellungs-App erstellt, um den Zugriff auf eine oder mehrere Apps zu verwalten. Wählen Sie daher hier die Ziel-App aus, nicht die Bereitstellungs-App.

  11. Klicken Sie auf Save, und schließen Sie das Panel Privileges/Roles.

  12. Weisen Sie unter Roles die entsprechenden Rollen für allgemeine Benutzer zu.

  13. Wählen Sie die Registerkarte Realms.

  14. Klicken Sie auf + Realm.

  15. Geben Sie Demo Realm als Namen ein, und klicken Sie auf das Symbol .

  16. Klicken Sie auf der Registerkarte Applications auf Select für die App, auf die Endbenutzer zugreifen werden.

  17. Wählen Sie die Registerkarte Groups, und klicken Sie auf Select für die gerade erstellte Gruppe Demo General User.

  18. Wählen Sie die Registerkarte Providers, und klicken Sie auf Select für den zuvor erstellten Sicherheitsanbieter User Provisioning.

Schritt 3: Das Datenmodell vorbereiten

Jetzt müssen Sie Ihre Tabellen Department und Employee aktualisieren, um Sicherheitsinformationen und Bereitstellungsstatus zu speichern.

Folgen Sie diesen Schritten:

  1. Wenn Ihre App läuft, gehen Sie zur Registerkarte Data Sources der App Workbench.

  2. Klicken Sie auf + Source.

  3. Wählen Sie Link to existing source, und klicken Sie auf Next.

  4. Suchen Sie App Builder (Sealed) (Default) aus, und klicken Sie auf Link 1 Source und Done. Dies gibt Ihnen Zugriff auf die öffentlichen Datenobjekte, die für die Bereitstellung erforderlich sind.

  5. Gehen Sie zur Registerkarte Tables der App Workbench.

  6. Suchen Sie unter Tables die Tabelle Department, und klicken Sie auf das Symbol Open record.

  7. Fügen Sie eine neue Spalte namens MyGroupID (Type: Unique ID) hinzu.

  8. Gehen Sie zur Registerkarte Pages der App Workbench, und öffnen Sie Ihre Department-Seite zur Bearbeitung.

  9. Fügen Sie das Steuerelement MyGroupID zu Ihrer Seite hinzu. Legen Sie seinen Control Type auf List fest, und klicken Sie auf Next.

  10. Legen Sie auf der nächsten Seite diese Werte fest, und klicken Sie auf Next:

    • Source: Realm_Group

    • Key (Column): GroupId (PK)

    • Title (Column): Name

  11. Klicken Sie auf Finish.

  12. Gehen Sie zur Registerkarte Pages der App Workbench, und öffnen Sie Ihre Department-Seite zur Bearbeitung.

  13. Wählen Sie die Registerkarte Update Methods.

  14. Stellen Sie sicher, dass die Einstellung Edit Method auf Standard gesetzt ist.

  15. Führen Sie die Anwendung aus, navigieren Sie zur Seite Departments, und weisen Sie die Gruppe Demo General User einer Ihrer Abteilungen zu.

Aktualisieren Sie die Employee-Tabelle

Folgen Sie diesen Schritten:

  1. Gehen Sie zur Registerkarte Tables der App Workbench.

  2. Suchen Sie unter Tables die Tabelle Employee, und klicken Sie auf das Symbol Open record.

  3. Fügen Sie die folgenden Spalten hinzu:

    • MyUserID (Type: Unique ID): Speichert die App Builder ID des Benutzers nach der Erstellung.

    • ProvisionedOn (Type: DateTime): Ein Zeitstempel für die Bereitstellung.

    • ProvisionedBy (Type: String, length: 150): Der Name des Benutzers, der die Bereitstellung durchgeführt hat.

Schritt 4: Die Bereitstellungslogik erstellen

Das Herzstück der Anwendung ist ein Tabellenereignis in der Tabelle Employee, das eine Abfolge von Regeln orchestriert. Diese Regeln werden nacheinander mit Success Handlers ausgeführt.

Regel 1: Den Benutzer erstellen

Diese Regel erstellt den Benutzerdatensatz, jedoch nur wenn dieser noch nicht vorhanden ist. Folgen Sie diesen Schritten:

  1. Gehen Sie zur Registerkarte Tables der App Workbench.

  2. Suchen Sie unter Tables die Tabelle Employee, und klicken Sie auf das Symbol Open record.

  3. Klicken Sie auf Events. Das Popup Data Storage Events (Employee) wird geöffnet.

  4. Klicken Sie auf + Table Event.

  5. Unter Event Information legen Sie den Namen als Provision User fest und klicken dann auf Save.

  6. Unter Actions klicken Sie auf + Rule & Register.

  7. Auf der Seite Rule Builder legen Sie die folgenden Werte fest:

    • Name: Realm_User_Create (Insert Employee)

    • Purpose: XP CRUD

    • Action: Insert

    • Source Data Source: Wählen Sie die User-Provisioning-App aus, die Sie erstellt haben. In diesem Tutorial ist es User Provisioning App.

    • Target Data Source: Vinyl (Sealed)

    • Options: Wählen Sie Logic Layer aus.

    • Target: Realm_User_Create

  8. Klicken Sie auf Create.

  9. Klicken Sie mit ausgewähltem Tab Tables auf + Table.

  10. Fügen Sie im Tab Current Data Source die Tabelle Employee hinzu.

  11. Wählen Sie den Tab Where aus.

  12. Klicken Sie auf + Where Clause.

  13. Geben Sie unter Left Expression E.MyUserID ein.

  14. Öffnen Sie das Menü Operator und wählen Sie IS NULL aus.

  15. Klicken Sie auf Save und schließen Sie das Popup Where.

  16. Wählen Sie den Tab Tables aus, dann wählen Sie EmployeeID und alle zusätzlichen Spalten aus, die die Regel für ihre Aktion benötigt (zum Beispiel Name und E-Mail-Adresse des bereitgestellten Benutzers).

  17. Wählen Sie den Tab Columns aus und legen Sie Felder wie folgt fest:

    Column or Expression Alias Target PK
    E.EmployeeID UserId (PK)
    E.FullName FullName
    E.Email EmailAddress
    E.FullName DisplayName DisplayName
    E.EmployeeNo UserName UserName
  18. (Optional, aber empfohlen) Wählen Sie den Tab Results aus und klicken Sie auf Validate.

  19. Gehen Sie zur Registerkarte Tables der App Workbench.

  20. Suchen Sie unter Tables die Tabelle Employee und klicken Sie auf das Symbol Open record.

  21. Klicken Sie auf Events. Das Popup Data Storage Events (Employee) wird geöffnet.

  22. Klicken Sie auf das Symbol Open record für das Ereignis Provision User.

  23. Klicken Sie unter Actions auf das Symbol Open record für die Regel Realm_User_Create (Insert Employee).

  24. Klicken Sie unter Bindings auf + Binding.

  25. Legen Sie die folgende Bindung fest:

    Source Column Rule Column
    EmployeeID EmployeeID
  26. Klicken Sie auf das Symbol und schließen Sie das Popup Action/Bindings/SQL.

Rule 2: Employee-Datensatz aktualisieren

Nachdem der App-Builder-Benutzer durch Rule 1 erstellt wurde, schreibt diese Regel die neue Benutzer-ID in das Feld MyUserID der Tabelle Employee zurück. Dies verknüpft den Mitarbeiterdatensatz mit dem App-Builder-Konto, damit nachfolgende Regeln auf die entsprechende ID verweisen können.

  1. Klicken Sie auf der Seite Event/Validations/Actions unter Actions auf + Rule & Register.

  2. Legen Sie die folgenden Werte fest:

    • Name: Employee (Update MyUserID to EmployeeID)

    • Purpose: CRUD

    • Action: Update

    • Target Layer: Data Layer

    • Target: Employee

  3. Klicken Sie auf Create.

  4. Wählen Sie den Tab Columns aus.

  5. Klicken Sie auf + Column.

  6. Geben Sie im Feld Column or Expression E.EmployeeID ein und legen Sie diese verbleibenden Werte fest:

    • Alias: MyUserID

    • Target: MyUserID

    • TargetType: Target

  7. Klicken Sie auf Save und schließen Sie das Popup Add Column.

  8. (Optional, aber empfohlen) Wählen Sie den Tab Results aus und klicken Sie auf Validate.

  9. Klicken Sie auf < Event, um zur Seite Provision User (Event/Validations/Actions) zurückzukehren.

  10. Klicken Sie unter Actions auf , um die gerade hinzugefügte und registrierte Regel (Employee (Update MyUserID to EmployeeID)) zu deregistrieren, und klicken Sie dann auf Proceed.

  11. Klicken Sie unter Actions auf das Symbol Open record für die verbleibende Aktion Realm_User_Create (Insert Employee). Das Popup Action/Bindings/SQL wird geöffnet.

  12. Klicke auf Success. Das Popup Success Handlers wird geöffnet.

  13. Klicke auf Create. Das Popup Action wird geöffnet.

  14. Lege folgende Werte fest:

    • Type: Rule

    • Rule: Wähle Employee (Update MyUserID to EmployeeID)

  15. Klicke auf Save.

  16. Klicke unter Bindings auf + Binding.

  17. Lege folgendes Binding fest:

    Source Column Rule Column
    EmployeeID EmployeeID
  18. Schließe die Popups, um zur Seite Event/Validations/Actions für Provision User zurückzukehren.

    Tipp

    Die Zahl 1 neben dem -Symbol zeigt das Vorhandensein eines Success Handlers für diese Aktion an.

Rule 3: Benutzerpasswort festlegen

Diese Regel legt das Anfangspasswort des neuen Benutzers mit dem Standardwert fest, der in der Tabelle Parameter gespeichert ist.

  1. Gehe zur Registerkarte Rules der App Workbench.

  2. Klicke auf + Rule.

  3. Lege die Werte wie folgt fest:

    • Name: User_SetPassword (Update Default Password)

    • Purpose: Wähle XPCRUD

    • Action: Update

    • Source Data Source: Wähle die erstellte Benutzerbereitstellungs-App aus. In diesem Tutorial ist es User Provisioning App.

    • Target Data Source: Vinyl (Sealed)

    • Target Layer: Logic Layer

    • Target: User_SetPassword

  4. Klicke auf Create.

  5. Wähle die Registerkarte Tables.

  6. Klicke auf der Registerkarte Current Data Source auf + Table und füge die Tabellen Employee und Parameter hinzu.

  7. Wähle in der Tabelle Employee die Spalten EmployeeID und MyUserID aus.

  8. Wähle in der Tabelle Parameter die Spalte DefaultPassword aus.

  9. Wähle die Registerkarte Columns und lege Felder wie folgt fest:

    Column or Expression Alias Target PK
    E.MyUserID UserID (PK)
    P.DefaultPassword Password
  10. (Optional) Klicke auf das Symbol Open record für die Spalte E.MyUserID. Bestätige im Popup Column, dass Target Type auf Bind eingestellt ist.

  11. (Optional) Klicke auf das Symbol Open record für die Spalte P.DefaultPassword. Bestätige im Popup Column, dass Target Type auf Target eingestellt ist.

  12. Wähle die Registerkarte Where und klicke auf + Where Clause.

  13. Gib unter Left Expression E.MyUserID ein.

  14. Öffne das Menü Operator und wähle IS NOT NULL.

  15. Klicke auf Save und schließe das Popup Where.

  16. Gehe zur Registerkarte Rules der App Workbench.

  17. Wähle unter App Data Sources die Option All Events.

  18. Klicke unter All Events auf Provision User in der Spalte Event.

  19. Klicke für den Eintrag Provision User auf Rule Event Detail.

  20. Klicke unter Actions auf das Symbol Success handlers für die Regel Realm_User_Create (Insert Employee). Das Popup Success Handlers wird geöffnet.

  21. Klicke auf Create. Das Popup Action wird geöffnet.

  22. Lege folgende Werte fest:

    • Type: Rule

    • Rule: Wähle User_SetPassword (Update Default Password)

  23. Klicke auf Save.

  24. Klicke unter Bindings auf + Binding.

  25. Lege folgendes Binding fest:

    Source Column Rule Column
    EmployeeID EmployeeID
  26. Schließe die Popups, um zur Seite Event/Validations/Actions für Provision User zurückzukehren.

  27. Aktualisiere die Seite und beachte, dass die Anzahl der Success Handlers für die Regel Realm_User_Create (Insert Employee) jetzt 2 beträgt.

Rule 4: Gruppenzugriff gewähren

Diese Regel gewährt dem neuen Benutzer Zugriff auf die App Builder-Gruppe, die seinem Fachbereich zugeordnet ist, indem der Wert MyGroupID verwendet wird, der in der Tabelle Department festgelegt ist.

  1. Gehe zur Registerkarte Rules der App Workbench.

  2. Klicke auf + Rule.

  3. Lege die Werte wie folgt fest:

    • Name: Realm_UserGroup (Cram Department)

    • Purpose: Wähle XPCRUD

    • Action: Cram

  4. Datenquelle: Wählen Sie die erstellte App zur Benutzerbereitstellung aus. In diesem Tutorial ist es User Provisioning App.

  5. Zieldatenquelle: Vinyl (Sealed)

  6. Ziel-Layer: Logic Layer

  7. Ziel: Realm_UserGroup

  8. Klicken Sie auf Create.

  9. Wählen Sie die Registerkarte Tables aus.

  10. Klicken Sie auf der Registerkarte Current Data Source auf + Table und fügen Sie die Tabellen Employee und Department hinzu.

    Tipp

    App Builder erstellt automatisch eine Fremdschlüsselbeziehung zwischen den DepartmentID-Spalten der beiden Tabellen.

  11. Wählen Sie in der Tabelle Employee die Spalten EmployeeID und MyUserID aus.

  12. Wählen Sie in der Tabelle Department die Spalte MyGroupID aus.

  13. Wählen Sie die Registerkarte Where aus und klicken Sie auf + Where Clause.

  14. Geben Sie unter Left Expression D.MyGroupID ein.

  15. Öffnen Sie das Menü Operator und wählen Sie IS NOT NULL aus.

  16. Klicken Sie auf Save und schließen Sie das Popup Where.

  17. Klicken Sie auf + Where Clause.

  18. Geben Sie unter Left Expression E.MyUserID ein.

  19. Öffnen Sie das Menü Operator und wählen Sie IS NOT NULL aus.

  20. Klicken Sie auf Save und schließen Sie das Popup Where.

  21. Wählen Sie die Registerkarte Columns aus und legen Sie die Felder wie folgt fest (beispielsweise):

    Spalte oder Ausdruck Alias Ziel PK
    E.EmployeeID
    E.MyUserID UserID (PK)
    D.MyGroupID GroupID (PK)
  22. Wählen Sie More > Edge Case aus. Das Popup Edge Case Settings wird geöffnet.

  23. Aktivieren Sie die Option Select Distinct und schließen Sie das Popup.

  24. Gehen Sie zur Registerkarte Rules der App Workbench.

  25. Wählen Sie unter App Data Sources die Option All Events aus.

  26. Klicken Sie unter All Events in der Spalte Event auf Provision User.

  27. Klicken Sie für den Eintrag Provision User auf Rule Event Detail.

  28. Klicken Sie unter Actions auf das Symbol Open record für die Regel Realm_User_Create (Insert Employee).

  29. Klicken Sie auf Success. Das Popup Success Handlers wird geöffnet.

  30. Klicken Sie auf Create. Das Popup Action wird geöffnet.

  31. Legen Sie die folgenden Werte fest:

    • Type: Rule

    • Rule: Wählen Sie Realm_UserGroup (Cram Department) aus

  32. Klicken Sie auf Save.

  33. Klicken Sie unter Bindings auf + Binding.

  34. Legen Sie die folgende Bindung fest:

    Quellspalte Regelspalte
    EmployeeID EmployeeID
  35. Schließen Sie die Popups, um zur Seite Event/Validations/Actions für Provision User zurückzukehren.

Rule 5: Bereitstellungsaktion protokollieren

Diese Regel erfasst, wer die Bereitstellung ausgelöst hat und wann, indem der aktuelle Zeitstempel und der Name des angemeldeten Benutzers in die Felder ProvisionedOn und ProvisionedBy der Tabelle Employee geschrieben werden.

  1. Gehen Sie zur Registerkarte Rules der App Workbench.

  2. Klicken Sie auf + Rule.

  3. Legen Sie die folgenden Werte fest:

    • Name: Employee (Update ProvisionedOn/By)

    • Purpose: CRUD

    • Action: Update

    • Target Layer: Data Layer

    • Target: Employee

  4. Klicken Sie auf Create.

  5. Wählen Sie die Registerkarte Columns aus.

  6. Klicken Sie auf + Column.

  7. Geben Sie im Feld Column or Expression now() ein und legen Sie diese übrigen Werte fest:

    • Target: ProvisionedOn

    • TargetType: Target

  8. Klicken Sie auf Save und schließen Sie das Popup Add Column.

  9. Klicken Sie auf + Column.

  10. Geben Sie im Feld Column or Expression who() ein und legen Sie diese übrigen Werte fest:

    • Target: ProvisionedBy

    • TargetType: Target

  11. Klicken Sie auf Save und schließen Sie das Popup Add Column.

  12. (Optional, aber empfohlen) Wählen Sie die Registerkarte Results aus und klicken Sie auf Validate.

  13. Gehen Sie zur Registerkarte Rules der App Workbench.

  14. Wählen Sie unter App Data Sources die Option All Events aus.

  15. Klicken Sie unter All Events in der Spalte Event auf Provision User.

  16. Klicken Sie für den Eintrag Provision User auf Rule Event Detail.

  17. Klicken Sie unter Aktionen auf das Symbol Success handlers für die Regel Realm_User_Create (Insert Employee). Das Popup Success Handlers wird geöffnet.

  18. Klicken Sie auf Erstellen. Das Popup Aktion wird geöffnet.

  19. Legen Sie die folgenden Werte fest:

    • Typ: Regel

    • Regel: Wählen Sie Employee (Update ProvisionedOn/By)

  20. Klicken Sie auf Speichern.

  21. Klicken Sie unter Bindungen auf + Bindung.

  22. Legen Sie die folgende Bindung fest:

    Quellspalte Regelspalte
    EmployeeID EmployeeID
  23. Schließen Sie die Popups, um zur Seite Ereignis/Validierungen/Aktionen für Benutzer bereitstellen zurückzukehren.

Schritt 5: Erstellen Sie die Benutzeroberfläche

  1. Navigieren Sie zu Seiten und öffnen Sie Ihre Employee-Seite zur Bearbeitung.

  2. Fügen Sie ein neues Steuerelement Schaltfläche mit der Bezeichnung Benutzer bereitstellen hinzu.

  3. Navigieren Sie in den Eigenschaften der Schaltfläche zur Registerkarte Ereignisse und wählen Sie das Ereignis Benutzer bereitstellen aus.

  4. Um sicherzustellen, dass die Benutzeroberfläche korrekt aktualisiert wird, legen Sie in der Registerkarte Verhalten den Aktualisierungsbereich auf Zeile fest.

  5. Um die Schaltfläche für bereits bereitgestellte Benutzer auszublenden, gehen Sie zur Registerkarte Sichtbarkeit und fügen Sie eine Bedingung hinzu: ProvisionedOn IS NOT NULL.

Nächste Schritte

Die Kernlogik zur Bereitstellung ist jetzt abgeschlossen. Sie können diesen Prozess weiter verbessern, indem Sie: