User und Rollen

Lerne, wie du Nutzerdetails liest, Arbeitsbereich-Rollen und Admin-Status prüfst und Skripte an App-, Sprach- und Arbeitsbereichskontext anpasst.

Mit diesen Funktionen personalisierst du Workflows und schützt sensible Aktionen. Du liest Details zum aktuellen Nutzer, prüfst Arbeitsbereich-Rollen, erkennst den Admin-Status und passt das Verhalten an App-, Sprache- und Arbeitsbereichskontext an.

In diesem Kapitel lernst du, wie du:

  • Details zum aktuellen Nutzer liest.

  • Arbeitsbereich-Rollen vor sensiblen Aktionen prüfst.

  • Admin-Nutzer und den Admin-Modus erkennst.

  • Skripte an die aktuelle App und Sprache anpasst.

  • Arbeitsbereich-, Datenbank- und Tabellenkontext prüfst.

Funktion (A-Z)
Aufgabe

clientLang()

Gibt die aktuelle Client-Sprache zurück

isAdminMode()

Prüft, ob die UI im Admin-Modus ist

tableId()

Gibt die interne ID einer Tabelle zurück

user()

Gibt den aktuellen Nutzer zurück

userEmail()

Gibt die E-Mail-Adresse des aktuellen Nutzers zurück

userFirstName()

Gibt den Vornamen des aktuellen Nutzers zurück

userFullName()

Gibt den vollständigen Namen des aktuellen Nutzers zurück

userHasRole()

Prüft, ob der aktuelle Nutzer eine Arbeitsbereich-Rolle hat

userId()

Gibt die ID des aktuellen Nutzers zurück

userIsAdmin()

Prüft, ob der aktuelle Nutzer ein Admin ist

userLastName()

Gibt den Nachnamen des aktuellen Nutzers zurück

userName()

Gibt den Namen des aktuellen Nutzers zurück

userRole()

Gibt die primäre Arbeitsbereich-Rolle des aktuellen Nutzers zurück

userRoles()

Gibt die Arbeitsbereich-Rollen des aktuellen Nutzers zurück

users()

Gibt alle Mitwirkenden im Arbeitsbereich zurück

Details zum aktuellen Nutzer lesen

Nutze diese Funktionen, wenn du Meldungen personalisieren, Nutzerreferenzen speichern oder anzeigen willst, wer eine Aktion ausgeführt hat.

Mit user() den aktuellen Nutzer holen

Nutze user(), wenn du den aktuellen Nutzer brauchst oder einen bestimmten Nutzer im Arbeitsbereich suchen willst.

Nutze es, wenn du:

  • direkt auf den aktuellen Nutzer verweisen willst.

  • den Nutzer an eine andere Funktion oder einen Vergleich übergeben willst.

  • nutzerbezogene Workflow-Logik bauen willst.

  • den aktuellen Nutzer mit einem Nutzerfeld vergleichen willst.

user() user(string)

  • string: der Nutzername, den du suchen willst

user() gibt einen Nutzerwert zurück.

Wenn der angegebene Name nicht zu einem Mitglied im Arbeitsbereich passt, gibt user(string) keinen Wert zurück.

Schauen wir uns einige Beispiele an:

Gibt den aktuellen Nutzer zurück.

Gibt diesen Nutzer zurück, wenn die Person Mitglied im Arbeitsbereich ist. Sonst gibt die Funktion keinen Wert zurück.

Gibt true zurück, wenn der aktuelle Nutzer einem der beiden Nutzer entspricht.

Gibt true zurück, wenn der aktuelle Nutzer dem Wert im Nutzerfeld assigned_to entspricht.

Identitätsfelder von Nutzern lesen

Nutze diese Funktionen, wenn du einen bestimmten Teil der Identität des aktuellen Nutzers brauchst.

Nutze sie, wenn du:

  • eine persönliche Begrüßung anzeigen willst.

  • speichern willst, wer eine Aktion ausgelöst hat.

  • die E-Mail-Adresse des Nutzers in Freigabe- oder Nachrichten-Workflows verwenden willst.

userId() gibt die interne ID des aktuellen Nutzers zurück. userId(user) gibt die interne ID des Nutzers zurück, der im Feld user gespeichert ist. userName() gibt den Anzeigenamen des aktuellen Nutzers zurück. userName(user_name) gibt den Anzeigenamen des Nutzers zurück, der im Feld user_name gespeichert ist. userEmail() gibt die E-Mail-Adresse des aktuellen Nutzers zurück. userEmail(user) gibt die E-Mail-Adresse des Nutzers zurück, der im Feld User gespeichert ist. userFirstName() gibt den Vornamen des aktuellen Nutzers zurück. userFirstName(user) gibt den Vornamen des Nutzers zurück, der im Feld user gespeichert ist. userLastName() gibt den Nachnamen des aktuellen Nutzers zurück. userLastName(user) gibt den Nachnamen des Nutzers zurück, der im Feld user gespeichert ist. userFullName() gibt den vollständigen Namen des aktuellen Nutzers zurück. userFullName(user) gibt den vollständigen Namen des Nutzers zurück, der im Feld user gespeichert ist.

Schauen wir uns ein Beispiel an:

Zeigt eine kurze Begrüßung für den aktuellen Nutzer.

Tipps:

  • Nutze userFullName() für gut lesbare Bezeichnungen und Meldungen.

  • userName(user) gibt den Anzeigenamen aus dem Nutzerprofil zurück.

  • Nutze userEmail(), wenn ein Workflow Dateien teilt oder Benachrichtigungen sendet.

  • userEmail(user) gibt die E-Mail-Adresse im Arbeitsbereich für den angegebenen Nutzer zurück.

  • userFirstName(user) nutzt den Vornamen aus dem Profil dieses Nutzers.

  • userLastName(user) nutzt den Nachnamen aus dem Profil dieses Nutzers.

  • userFullName(user) kombiniert Vor- und Nachname aus dem Nutzerprofil.

  • userId(user) gibt die interne alphanumerische ID des angegebenen Nutzers zurück.

  • Speichere userId(), wenn du eine stabile interne Referenz brauchst.

Mit users() alle Mitwirkenden zurückgeben

Nutze users(), wenn du alle Mitwirkenden aus dem aktuellen Arbeitsbereich als Array brauchst.

Nutze es, wenn du:

  • alle Nutzer im Arbeitsbereich durchlaufen willst.

  • eine Liste mit Namen der Mitwirkenden bauen willst.

  • alle Nutzer in Filter- oder Zuweisungslogik wiederverwenden willst.

users()

users() gibt ein Array von Nutzerwerten zurück.

Schauen wir uns ein Beispiel an:

Gibt alle Mitwirkenden aus dem aktuellen Arbeitsbereich zurück.

Tipps:

  • Nutze users(), wenn du alle Mitwirkenden brauchst, nicht nur den aktuellen Nutzer.

  • Durchlaufe users(), wenn du jeden Mitwirkenden einzeln prüfen oder wiederverwenden willst.

Rollen und Admin-Zugriff prüfen

Nutze diese Funktionen, wenn du Zugriff steuern oder für verschiedene Nutzer unterschiedliches Verhalten zeigen willst.

Arbeitsbereich-Rollen prüfen

Nutze userRole() und userRoles(), um die Arbeitsbereich-Rollen des aktuellen Nutzers zu prüfen. Nutze userHasRole(), wenn du nur eine direkte Ja-oder-Nein-Prüfung brauchst.

Nutze sie, wenn du:

  • den Zugriff auf Admin- oder Manager-Aktionen einschränken willst.

  • rollenspezifische Schaltflächen oder Seiten anzeigen willst.

  • Exporte, Löschungen oder Freigabe-Workflows absichern willst.

userRole() userRole(user) userRoles() userRoles(user) userHasRole(string) userHasRole(user, string)

  • string: der Rollenname, den du mit userHasRole() prüfen willst

  • user: der Nutzer, den du prüfen willst

Schauen wir uns einige Beispiele an:

Gibt die erste Arbeitsbereich-Rolle des aktuellen Nutzers zurück, zum Beispiel admin oder editor.

Gibt die erste Arbeitsbereich-Rolle des Nutzers zurück, der im Feld user gespeichert ist.

Gibt alle Arbeitsbereich-Rollen des aktuellen Nutzers zurück.

Gibt alle Arbeitsbereich-Rollen des Nutzers zurück, der im Feld user gespeichert ist.

Prüft, ob der aktuelle Nutzer die Arbeitsbereich-Rolle Manager hat.

Prüft, ob der Nutzer im Feld Created_by die Arbeitsbereich-Rolle admin hat.

Tipps:

  • userRole() gibt nur die erste Rolle eines Nutzers zurück.

  • userRoles() gibt eine Liste von Rollennamen zurück.

  • Nutze userRoles(), wenn du alle zugewiesenen Rollen prüfen willst.

  • Nutze userHasRole() für Berechtigungsprüfungen in Schaltflächen und Skripten.

  • Prüfe den Zugriff früh, damit eingeschränkte Aktionen sofort stoppen.

Admin-Status prüfen

Nutze userIsAdmin(), um zu prüfen, ob der aktuelle Nutzer Admin-Rechte hat. Nutze isAdminMode(), um zu prüfen, ob die Oberfläche gerade im Admin-Modus läuft.

Nutze sie, wenn du:

  • sensible Wartungsaktionen absichern willst.

  • Seiten oder Bedienelemente nur für Admins anzeigen willst.

  • die UI an den aktuellen Admin-Kontext anpassen willst.

userIsAdmin() gibt einen booleschen Wert zurück. isAdminMode() gibt einen booleschen Wert zurück.

Schauen wir uns einige Beispiele an:

Gibt true zurück, wenn der aktuelle Nutzer Admin-Rechte hat.

Gibt true zurück, wenn der Builder-Modus aktiv ist.

Zeigt eine kurze Warnung für Nicht-Admins und öffnet die Admin-Seite für Admins.

Kombiniere Rollenprüfungen mit dialog() vor sensiblen Aktionen wie Löschen, Exporten oder Sammelaktualisierungen.

Skripte an App-, Sprache- und Arbeitsbereichskontext anpassen

Nutze diese Funktionen, wenn sich dein Skript je nach Sprache oder aktueller Umgebung anders verhalten soll.

Mit clientLang() die aktuelle Sprache erkennen

Nutze clientLang(), um die aktuell im Browser oder in der App gesetzte Sprache zu lesen.

Nutze es, wenn du:

  • Meldungen lokalisieren willst.

  • Bezeichnungen je nach Sprache wechseln willst.

  • unterschiedlichen Nutzern unterschiedliche Texte zeigen willst.

clientLang()

clientLang() gibt einen String wie en, de oder es zurück.

Schauen wir uns einige Beispiele an:

Gibt Hola zurück, wenn die Client-Sprache auf Spanisch gesetzt ist.

Tipps:

  • clientLang() spiegelt die Sprache im aktuellen Browser oder in der App wider.

  • Nutzer können auf verschiedenen Clients unterschiedliche Sprachen nutzen.

  • Halte lokalisierte Meldungen kurz.

  • Teste sprachabhängige Skripte mit echten Client-Sprach-Einstellungen.

Mit tableId() Arbeitsbereich und Struktur prüfen

Nutze diese Funktion, wenn du interne Kennungen für Protokolle, Diagnose, Integrationen oder umgebungsabhängige Logik brauchst.

Nutze sie, wenn du:

  • protokollieren willst, wo ein Skript läuft.

  • API-Anfragen bauen willst.

tableId(record) tableId(string)

  • record: ein Datensatz aus der Tabelle

  • string: der Tabellenname

Schauen wir uns einige Beispiele an:

Gibt die interne ID der aktuellen Tabelle zurück.

Gibt die interne ID der Tabelle Invoices zurück, zum Beispiel B.

Tipps:

  • Nutze tableId() in API-Calls, wenn du die interne Tabellen-ID brauchst.

  • Verwende sie nicht in Bezeichnungen oder Meldungen, außer ein technischer Workflow braucht sie.

Häufige Muster für Nutzer und Rollen

Diese kurzen Muster zeigen typische Wege, Workflows in Ninox zu personalisieren und zu schützen.

Zugriff auf Admins beschränken

Blockiert Nicht-Admins und führt Admins in den Admin-Bereich.

Zugriff per Rolle beschränken

Prüft, ob der aktuelle Nutzer die Arbeitsbereich-Rolle Manager hat.

Eine kurze Meldung lokalisieren

Gibt eine kurze Begrüßung abhängig von der aktuellen Client-Sprache zurück.

Nutze dieses Kapitel zusammen mit Navigations- und Dateifunktionen:

  • Nutze Rollenprüfungen vor Exporten, Löschungen oder Seitenwechseln.

  • Nutze Nutzerdetails, um Alerts, Protokolle und geteilte Inhalte zu personalisieren.

  • Nutze App- und Sprachprüfungen, wenn Verhalten von der Client-Umgebung abhängt.

Zuletzt aktualisiert

War das hilfreich?