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.
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
user() den aktuellen Nutzer holenNutze 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
users() alle Mitwirkenden zurückgebenNutze 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 mituserHasRole()prüfen willstuser: 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
clientLang() die aktuelle Sprache erkennenNutze 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
tableId() Arbeitsbereich und Struktur prüfenNutze 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 Tabellestring: 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?