0

Ninox Konzept zu Berechtigungen

Als Ninox-Administrator möchte ich die Berechtigungen auf die Mitarbeiterdatenbank ausgehend von der in Ninox eingetragenen "Position" und "Organisationseinheit" automatisiert festlegen. Könnte mir vielleicht jemand helfen sowas umzusetzen?

 

Viele Grüße

Max

1 Antwort

null
    • Developer by Smartplanung
    • smartplanung
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Das kann ein sehr komplexes Thema sein wo man sich sehr sicher sein sollte, wie das Rechtemodell aussehen soll, damit man das System auch in Zukunft mit wenig Aufwand anpassen kann.

    Als grober Fahrplan:

    • erstelle jeweils eine Tabelle für Position und Organisationseinheit, damit diese Werte dynamisch bleiben und von einer Stelle aus ergänzt und angepasst werden können, sollte es z.B: mal neue Positionen geben
    • erstelle eine Usertabelle, wo die Nutzer mit ihren Accounts verknüpft werden können. Das kann man zum Teil automatisieren (Start-Script) und händisch anpassen
      • Dort fügst Du zusätzlich dynamische Auswahlfelder oder dynamische Mehrfachauswahlfelder ein (je nachdem, ob das Rechtemodell mehrere Rechte gleichzeitig für einen Account vorsieht). Für das weitere Beispiel heißen diese "Positionen" und "Organisationseinheit"
    • erstelle eine globale Funktion, welche dynamisch abfragt, ob jemand das Recht hat etwas zu tun. Der Return Wert sollte dann am besten immer true oder false sein:
    • function userRoleCheck(position:text,orga:text) do
      let user := first(select Usertabelle where 'Ninox-User' = user())
         if chosen(user.Positionen) = position and text(user.Organisationseinheit) = orga then
            true
         else
            false
         end
      end
      
    • in einer Ansicht z.B. unter "Sichtbar wenn" kann man dann rein schreiben:
      userRoleCheck("Chef","Vertrieb")

    Man kann das beliebig weit treiben. Man könnte so auch Schreibrechte abfragen über eine 3. Tabelle/dyn Mehrfachauswahl und auch noch einen Aktivstatus des Users einbringen, damit man ihn mit einem Klick erstmal sperren kann, usw.

    Aber das ist alles eine Frage der Anforderungen und würde im Detail hier völlig den Rahmen sprengen.

Content aside

  • vor 11 MonatenZuletzt aktiv
  • 1Antworten
  • 82Ansichten
  • 2 Folge bereits