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:
-
Wähle IDE > Sicherheitsanbieter.
-
Klicke + Sicherheitsanbieter.
-
Konfiguriere den Anbieter mit diesen Einstellungen:
-
Name:
User ProvisioningHinweis
Nicht zu verwechseln mit der Bereitstellungsanwendung selbst, die
User Provisioning Appheißt. -
Typ: Benutzerbereitstellung
-
Aktiviert: Aktiviert.
-
Benutzerbereitstellung: Aktiviert.
-
-
Klicke Speichern.
-
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:
-
Führe deine Benutzerbereitstellungsanwendung aus, wechsle dann zur Registerkarte Tabellen der App Workbench.
-
Suche unter Tabellen die Parameter-Tabelle und klicke auf ihr Symbol Datensatz öffnen.
-
Füge die folgenden zwei Spalten hinzu:
-
MyProviderID(Typ: Eindeutige ID) -
DefaultPassword(Typ: String)
-
-
Wechsle zur Registerkarte Seiten der App Workbench.
-
Suche unter Seiten die Seite Parameter und klicke auf ihr Symbol .
-
Füge der Seite neue Steuerelemente (Steuerelementtyp Text) für die Spalten
MyProviderIDundDefaultPasswordhinzu. -
Führe die Anwendung aus und wähle Konfiguration > Parameter. Das Popup Parameter wird geöffnet.
-
Klicke Bearbeiten.
-
Füge die Sicherheitsanbieter-ID (die zuvor kopiert wurde) in das Feld MyProviderID ein.
-
Geben Sie ein sicheres Standardkennwort in das Feld DefaultPassword ein. Dies ist das Kennwort, das neuen Benutzern zugewiesen wird.
-
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:
-
Wähle IDE > Benutzerverwaltung.
-
Wähle die Registerkarte Gruppen.
-
Klicke + Gruppe. Das Popup Gruppe wird geöffnet.
-
Lege die folgenden Werte fest:
-
Name:
Demo General User -
Description:
General user permissions for the demo app. -
Klicken Sie auf Save, und schließen Sie das Popup Group.
-
Klicken Sie unter Groups auf Manage Privileges für die neue Gruppe.
-
Klicken Sie unter Privileges auf Create. Das Popup Privilege wird geöffnet.
-
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.
-
-
Klicken Sie auf Save, und schließen Sie das Panel Privileges/Roles.
-
Weisen Sie unter Roles die entsprechenden Rollen für allgemeine Benutzer zu.
-
Wählen Sie die Registerkarte Realms.
-
Klicken Sie auf + Realm.
-
Geben Sie
Demo Realmals Namen ein, und klicken Sie auf das Symbol . -
Klicken Sie auf der Registerkarte Applications auf Select für die App, auf die Endbenutzer zugreifen werden.
-
Wählen Sie die Registerkarte Groups, und klicken Sie auf Select für die gerade erstellte Gruppe
Demo General User. -
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.
Abteilungen mit Sicherheitsgruppen verknüpfen
Folgen Sie diesen Schritten:
-
Wenn Ihre App läuft, gehen Sie zur Registerkarte Data Sources der App Workbench.
-
Klicken Sie auf + Source.
-
Wählen Sie Link to existing source, und klicken Sie auf Next.
-
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.
-
Gehen Sie zur Registerkarte Tables der App Workbench.
-
Suchen Sie unter Tables die Tabelle
Department, und klicken Sie auf das Symbol Open record. -
Fügen Sie eine neue Spalte namens
MyGroupID(Type: Unique ID) hinzu. -
Gehen Sie zur Registerkarte Pages der App Workbench, und öffnen Sie Ihre
Department-Seite zur Bearbeitung. -
Fügen Sie das Steuerelement
MyGroupIDzu Ihrer Seite hinzu. Legen Sie seinen Control Type auf List fest, und klicken Sie auf Next. -
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
-
-
Klicken Sie auf Finish.
-
Gehen Sie zur Registerkarte Pages der App Workbench, und öffnen Sie Ihre
Department-Seite zur Bearbeitung. -
Wählen Sie die Registerkarte Update Methods.
-
Stellen Sie sicher, dass die Einstellung Edit Method auf Standard gesetzt ist.
-
Führen Sie die Anwendung aus, navigieren Sie zur Seite Departments, und weisen Sie die Gruppe
Demo General Usereiner Ihrer Abteilungen zu.
Aktualisieren Sie die Employee-Tabelle
Folgen Sie diesen Schritten:
-
Gehen Sie zur Registerkarte Tables der App Workbench.
-
Suchen Sie unter Tables die Tabelle
Employee, und klicken Sie auf das Symbol Open record. -
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:
-
Gehen Sie zur Registerkarte Tables der App Workbench.
-
Suchen Sie unter Tables die Tabelle
Employee, und klicken Sie auf das Symbol Open record. -
Klicken Sie auf Events. Das Popup Data Storage Events (Employee) wird geöffnet.
-
Klicken Sie auf + Table Event.
-
Unter Event Information legen Sie den Namen als
Provision Userfest und klicken dann auf Save. -
Unter Actions klicken Sie auf + Rule & Register.
-
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
-
-
Klicken Sie auf Create.
-
Klicken Sie mit ausgewähltem Tab Tables auf + Table.
-
Fügen Sie im Tab Current Data Source die Tabelle
Employeehinzu. -
Wählen Sie den Tab Where aus.
-
Klicken Sie auf + Where Clause.
-
Geben Sie unter Left Expression
E.MyUserIDein. -
Öffnen Sie das Menü Operator und wählen Sie IS NULL aus.
-
Klicken Sie auf Save und schließen Sie das Popup Where.
-
Wählen Sie den Tab Tables aus, dann wählen Sie
EmployeeIDund alle zusätzlichen Spalten aus, die die Regel für ihre Aktion benötigt (zum Beispiel Name und E-Mail-Adresse des bereitgestellten Benutzers). -
Wählen Sie den Tab Columns aus und legen Sie Felder wie folgt fest:
Column or Expression Alias Target PK E.EmployeeIDUserId (PK)E.FullNameFullNameE.EmailEmailAddressE.FullNameDisplayNameDisplayNameE.EmployeeNoUserNameUserName -
(Optional, aber empfohlen) Wählen Sie den Tab Results aus und klicken Sie auf Validate.
-
Gehen Sie zur Registerkarte Tables der App Workbench.
-
Suchen Sie unter Tables die Tabelle
Employeeund klicken Sie auf das Symbol Open record. -
Klicken Sie auf Events. Das Popup Data Storage Events (Employee) wird geöffnet.
-
Klicken Sie auf das Symbol Open record für das Ereignis Provision User.
-
Klicken Sie unter Actions auf das Symbol Open record für die Regel Realm_User_Create (Insert Employee).
-
Klicken Sie unter Bindings auf + Binding.
-
Legen Sie die folgende Bindung fest:
Source Column Rule Column EmployeeIDEmployeeID -
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.
-
Klicken Sie auf der Seite Event/Validations/Actions unter Actions auf + Rule & Register.
-
Legen Sie die folgenden Werte fest:
-
Name:
Employee (Update MyUserID to EmployeeID) -
Purpose: CRUD
-
Action: Update
-
Target Layer: Data Layer
-
Target:
Employee
-
-
Klicken Sie auf Create.
-
Wählen Sie den Tab Columns aus.
-
Klicken Sie auf + Column.
-
Geben Sie im Feld Column or Expression
E.EmployeeIDein und legen Sie diese verbleibenden Werte fest:-
Alias:
MyUserID -
Target:
MyUserID -
TargetType: Target
-
-
Klicken Sie auf Save und schließen Sie das Popup Add Column.
-
(Optional, aber empfohlen) Wählen Sie den Tab Results aus und klicken Sie auf Validate.
-
Klicken Sie auf < Event, um zur Seite Provision User (Event/Validations/Actions) zurückzukehren.
-
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.
-
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.
-
Klicke auf Success. Das Popup Success Handlers wird geöffnet.
-
Klicke auf Create. Das Popup Action wird geöffnet.
-
Lege folgende Werte fest:
-
Type: Rule
-
Rule: Wähle Employee (Update MyUserID to EmployeeID)
-
-
Klicke auf Save.
-
Klicke unter Bindings auf + Binding.
-
Lege folgendes Binding fest:
Source Column Rule Column EmployeeIDEmployeeID -
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.
-
Gehe zur Registerkarte Rules der App Workbench.
-
Klicke auf + Rule.
-
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
-
-
Klicke auf Create.
-
Wähle die Registerkarte Tables.
-
Klicke auf der Registerkarte Current Data Source auf + Table und füge die Tabellen
EmployeeundParameterhinzu. -
Wähle in der Tabelle Employee die Spalten EmployeeID und MyUserID aus.
-
Wähle in der Tabelle Parameter die Spalte DefaultPassword aus.
-
Wähle die Registerkarte Columns und lege Felder wie folgt fest:
Column or Expression Alias Target PK E.MyUserIDUserID (PK)P.DefaultPasswordPassword -
(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. -
(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. -
Wähle die Registerkarte Where und klicke auf + Where Clause.
-
Gib unter Left Expression
E.MyUserIDein. -
Öffne das Menü Operator und wähle IS NOT NULL.
-
Klicke auf Save und schließe das Popup Where.
-
Gehe zur Registerkarte Rules der App Workbench.
-
Wähle unter App Data Sources die Option All Events.
-
Klicke unter All Events auf Provision User in der Spalte Event.
-
Klicke für den Eintrag Provision User auf Rule Event Detail.
-
Klicke unter Actions auf das Symbol Success handlers für die Regel Realm_User_Create (Insert Employee). Das Popup Success Handlers wird geöffnet.
-
Klicke auf Create. Das Popup Action wird geöffnet.
-
Lege folgende Werte fest:
-
Type: Rule
-
Rule: Wähle User_SetPassword (Update Default Password)
-
-
Klicke auf Save.
-
Klicke unter Bindings auf + Binding.
-
Lege folgendes Binding fest:
Source Column Rule Column EmployeeIDEmployeeID -
Schließe die Popups, um zur Seite Event/Validations/Actions für Provision User zurückzukehren.
-
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.
-
Gehe zur Registerkarte Rules der App Workbench.
-
Klicke auf + Rule.
-
Lege die Werte wie folgt fest:
-
Name:
Realm_UserGroup (Cram Department) -
Purpose: Wähle XPCRUD
-
Action: Cram
-
-
Datenquelle: Wählen Sie die erstellte App zur Benutzerbereitstellung aus. In diesem Tutorial ist es
User Provisioning App. -
Zieldatenquelle:
Vinyl (Sealed) -
Ziel-Layer: Logic Layer
-
Ziel:
Realm_UserGroup -
Klicken Sie auf Create.
-
Wählen Sie die Registerkarte Tables aus.
-
Klicken Sie auf der Registerkarte Current Data Source auf + Table und fügen Sie die Tabellen
EmployeeundDepartmenthinzu.Tipp
App Builder erstellt automatisch eine Fremdschlüsselbeziehung zwischen den
DepartmentID-Spalten der beiden Tabellen. -
Wählen Sie in der Tabelle Employee die Spalten EmployeeID und MyUserID aus.
-
Wählen Sie in der Tabelle Department die Spalte MyGroupID aus.
-
Wählen Sie die Registerkarte Where aus und klicken Sie auf + Where Clause.
-
Geben Sie unter Left Expression
D.MyGroupIDein. -
Öffnen Sie das Menü Operator und wählen Sie IS NOT NULL aus.
-
Klicken Sie auf Save und schließen Sie das Popup Where.
-
Klicken Sie auf + Where Clause.
-
Geben Sie unter Left Expression
E.MyUserIDein. -
Öffnen Sie das Menü Operator und wählen Sie IS NOT NULL aus.
-
Klicken Sie auf Save und schließen Sie das Popup Where.
-
Wählen Sie die Registerkarte Columns aus und legen Sie die Felder wie folgt fest (beispielsweise):
Spalte oder Ausdruck Alias Ziel PK E.EmployeeIDE.MyUserIDUserID (PK)D.MyGroupIDGroupID (PK) -
Wählen Sie More > Edge Case aus. Das Popup Edge Case Settings wird geöffnet.
-
Aktivieren Sie die Option Select Distinct und schließen Sie das Popup.
-
Gehen Sie zur Registerkarte Rules der App Workbench.
-
Wählen Sie unter App Data Sources die Option All Events aus.
-
Klicken Sie unter All Events in der Spalte Event auf Provision User.
-
Klicken Sie für den Eintrag Provision User auf Rule Event Detail.
-
Klicken Sie unter Actions auf das Symbol Open record für die Regel Realm_User_Create (Insert Employee).
-
Klicken Sie auf Success. Das Popup Success Handlers wird geöffnet.
-
Klicken Sie auf Create. Das Popup Action wird geöffnet.
-
Legen Sie die folgenden Werte fest:
-
Type: Rule
-
Rule: Wählen Sie Realm_UserGroup (Cram Department) aus
-
-
Klicken Sie auf Save.
-
Klicken Sie unter Bindings auf + Binding.
-
Legen Sie die folgende Bindung fest:
Quellspalte Regelspalte EmployeeIDEmployeeID -
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.
-
Gehen Sie zur Registerkarte Rules der App Workbench.
-
Klicken Sie auf + Rule.
-
Legen Sie die folgenden Werte fest:
-
Name:
Employee (Update ProvisionedOn/By) -
Purpose: CRUD
-
Action: Update
-
Target Layer: Data Layer
-
Target:
Employee
-
-
Klicken Sie auf Create.
-
Wählen Sie die Registerkarte Columns aus.
-
Klicken Sie auf + Column.
-
Geben Sie im Feld Column or Expression
now()ein und legen Sie diese übrigen Werte fest:-
Target:
ProvisionedOn -
TargetType: Target
-
-
Klicken Sie auf Save und schließen Sie das Popup Add Column.
-
Klicken Sie auf + Column.
-
Geben Sie im Feld Column or Expression
who()ein und legen Sie diese übrigen Werte fest:-
Target:
ProvisionedBy -
TargetType: Target
-
-
Klicken Sie auf Save und schließen Sie das Popup Add Column.
-
(Optional, aber empfohlen) Wählen Sie die Registerkarte Results aus und klicken Sie auf Validate.
-
Gehen Sie zur Registerkarte Rules der App Workbench.
-
Wählen Sie unter App Data Sources die Option All Events aus.
-
Klicken Sie unter All Events in der Spalte Event auf Provision User.
-
Klicken Sie für den Eintrag Provision User auf Rule Event Detail.
-
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.
-
Klicken Sie auf Erstellen. Das Popup Aktion wird geöffnet.
-
Legen Sie die folgenden Werte fest:
-
Typ: Regel
-
Regel: Wählen Sie Employee (Update ProvisionedOn/By)
-
-
Klicken Sie auf Speichern.
-
Klicken Sie unter Bindungen auf + Bindung.
-
Legen Sie die folgende Bindung fest:
Quellspalte Regelspalte EmployeeIDEmployeeID -
Schließen Sie die Popups, um zur Seite Ereignis/Validierungen/Aktionen für Benutzer bereitstellen zurückzukehren.
Schritt 5: Erstellen Sie die Benutzeroberfläche
-
Navigieren Sie zu Seiten und öffnen Sie Ihre
Employee-Seite zur Bearbeitung. -
Fügen Sie ein neues Steuerelement Schaltfläche mit der Bezeichnung
Benutzer bereitstellenhinzu. -
Navigieren Sie in den Eigenschaften der Schaltfläche zur Registerkarte Ereignisse und wählen Sie das Ereignis
Benutzer bereitstellenaus. -
Um sicherzustellen, dass die Benutzeroberfläche korrekt aktualisiert wird, legen Sie in der Registerkarte Verhalten den Aktualisierungsbereich auf Zeile fest.
-
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:
-
Ein Workflow-Ereignis hinzufügen, um neuen Benutzern ihre Anmeldedaten per E-Mail zu senden (siehe E-Mail in Benachrichtigungen).
-
Andere öffentliche Datenobjekte verwenden, um einen Kennwortwechsel bei der ersten Anmeldung zu erzwingen (siehe User_LocalAuthentication – öffentliches Datenobjekt).
-
Den Regelsatz erweitern, um die Bereitstellung von Benutzern aufzuheben (siehe Realm_UserGroup – öffentliches Datenobjekt).