Rolle
Wertauflöser - Kurzfassung
Zweck: Gibt die Daten einer statisch ausgewählten Rolle zurück.
Siehe auch: Firmenwert
Der Rolle-Wertauflöser ruft die Daten der durch statische Auswahl für den optionalen Parameter Rolle spezifizierten Rolle (s. Rollen) vom Server ab.
Ohne eine Auswahl für den Parameter Rolle lautet der Rückgabewert "kein Wert" (null).
Eine neu hinzugefügte Instanz des Rolle-Wertauflösers enthält keine Auswahl und erscheint wie oben dargestellt mit einem "leeren Label".
Wird eine bestehende Auswahl (bzw. das "leere Label") per Klick auf das "X" im Label entfernt, erscheint die Combobox leer. Das Speichern einer Konfiguration mit einem Rolle-Wertauflöser in diesem Zustand lässt das "leere Label" wieder erscheinen.
►WICHTIG◄ Anstelle des Rolle-Wertauflösers, könnte man auch einen Eingabeobjekt (Typsicher)-Wertauflöser für den Typ "Rolle" verwenden, dem als Eingabewert die ID (id) einer Rolle (z. B. als statischer Long-Wert) zugeführt wird. Auch wenn es keine Unterschiede im Laufzeitverhalten der beiden Methoden gibt, besteht allerdings ein wichtiger Unterschied, wenn im Kontext einer Implementierung Lobster Data Platform / Orchestration-Konfigurationen per Meta Exchange zwischen Systemen ausgetauscht werden sollen. Wird der Rolle-Wertauflöser verwendet, um auf eine bestimmte Rolle zuzugreifen, werden beim Meta Exchange ggf. relevante Verknüpfungen zwischen Rollen (z. B. zwischen Test- und Produktivsystem) berücksichtigt, um die "korrespondierende" Rolle unabhängig von der in der jeweiligen Umgebung gültigen ID (id) automatisch zuzuordnen. Wird eine Rolle dagegen per Long-Wert mit dem Eingabeobjekt (Typsicher)-Wertauflöser adressiert, dann greift dieser Service nicht, was sich auf das Laufzeitverhalten von zwischen zwei Systemen übertragenen Konfigurationen fatal auswirken kann.
ACHTUNG
Der Rolle-Wertauflöser ist in einem Client Workflow nicht verfügbar! Der Bezug zu einer statisch bestimmten Rolle kann in einem Client Workflow zwar ersatzweise durch eine Suche hergestellt werden. Mit Blick auf den Meta Exchange ist aber systematisch nicht ohne Weiteres gewährleistet, dass die verwendeten Suchkriterien systemübergreifend die jeweils korrespondierende Rolle (entsprechend der Meta Exchange-Verknüpfungen) "finden".
Konfiguration
Der optionale Parameter Rolle listet in einem Auswahlfeld/Combobox-Element alle Rollen für eine statische Einfachauswahl auf, für die in der Sitzung Lesezugriff besteht, in der der Wertauflöser konfiguriert wird. ►HINWEIS◄ Für Rollen sind weder Besitzrechte noch Firmenfreigaben relevant. Zugriff besteht im Rahmen der Konfiguration auf die Rolle der Session und alle Rollen, die dieser direkt und indirekt untergeordnet sind. Zur Laufzeit gibt der Wertauflöser die Daten der in der Konfiguration ausgewählten Rolle ohne Berücksichtigung von Zugriffsbeschränkungen im anwendbaren Anmeldekontext zurück. Der Eingabewert wird ignoriert. |
|
Beispiele
Beispiel: Kriterium für eine Zeilenformatierung in einer Übersicht
In einer Übersicht für Gastbenutzer sollen alle Gastbenutzerkonten durch eine Zeilenformatierung (s. Zeilenformatierung in Datengrids) einen "Alarmstatus" (Farbschema "weiß/rot") erhalten, die sich nicht auf eine ausdrücklich für Gastbenutzer bestimmte Rolle beziehen.
Als legitime Rollen für Gastbenutzer sollen im folgenden Beispiel die beiden Rollen XF_GUEST und XF_SPECIAL_GUEST (s. Screenshot im Abschnitt "Konfiguration") dienen.
Laufzeitbeispiel:
Der Screenshot zeigt ein Datengrid in einer "Gastbenutzerübersicht", in der die erste Zeile den "Alarmstatus" (weiß/rot) anzeigt, weil den betreffenden Gastbenutzerkonto eine Rolle zugeordnet wurde, die eigentlich nicht für Gastbenutzer verwendet werden soll.
►ANMERKUNG◄ Gastbenutzer können interaktiv nur über die Standard-Erfassungsmaske gepflegt werden, so dass spezifische Einschränkungen für die Auswahl der Rolle (roleId) nicht per Formulardesigner geregelt werden können. Allerdings werden Gastbenutzer auch überwiegend automatisch erzeugt (z. B. per Gastbenutzer anlegen-Ereignisaktion). Der "Alarmstatus" in der Liste kann allerdings auch in Verbindung mit einer automatischen Rollenzuweisung nützlich sein, z. B. um zu erkennen ob es aktive Gastbenutzerkonten gibt, die von der aktuell gültigen Positivliste für zulässige Rollen abweichen.
Konfiguration:
Innerhalb der Listen-Einstellungen für die Gastbenutzerübersicht wird in den Datengrid-Einstellungen eine Zeilenformatierung (s. Zeilenformatierung in Datengrids) angelegt, die das Farbschema "weiß/rot" für die "Alarmstufe" definiert. Die "Bedingung" der Zeilenformatierung wird wie rechts abgebildet formatiert:
|
|
Beispiel: Abbruchkriterium beim Speichern
Die im vorigen Beispiel durch eine Zeilenformatierung in der Gastbenutzerübersicht nur per "Alarmstatus" erkennbar gemachte Regelverletzung bei der Auswahl einer Rolle für ein Gastbenutzerkonto soll in der nächsten Ausbaustufe strenger gehandhabt werden:
Das Speichern eines Gastbenutzerkontos mit einer unzulässigen Rolle (roleId) soll durch Abbrechen effektiv verhindert werden.
Eine Fehlermeldung soll den Benutzer direkt über den Grund des Abbruchs und zulässige Optionen für die Rollenauswahl informieren.
Laufzeitbeispiel:
Konfiguration:
Eine Ereignisbehandlung, die auf "Erstellen" und "Ändern" (s. Allgemein (Ereignisse)) als Auslösende Ereignisse reagiert, wird wie rechts abgebildet konfiguriert:
|
|
|
Als Aktion bei bestandener Regel wird eine Abbrechen ausgeführt, die wie folgt parametriert wird:
|
|
|
In der Sprachverwaltung wird für die Lokalisierung der Fehlermeldung ein Eintrag im Resource-Bundle error angelegt, dessen Resource-Name exakt dem Fehlercode (SECURITY_GUEST_USER_ROLE_ALERT) entspricht.
|
|
|