Rechtesystem

Aus ARTECO Wiki
Zur Navigation springen Zur Suche springen

Einleitung

Das neue Rechtesystem wurde entwickelt um verbesserte Möglichkeiten zur Verteilung von spezifischen Rechten an einzelne Nutzer zu bieten. Dafür können beliebige sogenannte "Rollen" erstellt und einem Nutzer zugewiesen werden. Jeder dieser Rollen können dann beliebig viele "Rechte" aus einer vordefinierten Menge an Rechten zugewiesen werden. So könnte es zum Beispiel eine Rolle "Manager" geben die u.a. die Rechte "Fahrzeuge sehen/editieren/löschen", "Abrechnung" und "SMS senden" zugewiesen bekommen hat. Des weiteren könnte man zum Beispiel eine Rolle "Fahrer" anlegen, welche nur das Recht "Fahrzeuge sehen" zugewiesen bekommt.

Um den Übergang besser zu bewältigen, gibt es im Benutzer-Fenster bei den Stammdaten eine Checkbox um das neue Rechtesystem für den jeweiligen Nutzer zu aktivieren. Ist dies nicht aktiviert läuft für den jeweiligen Nutzer alles wie bisher. Am besten fängt man damit an sich die Rollen zu definieren die man braucht und Ihnen die entsprechenden Rechte zuzuweisen. Sobald man einen Benutzer für das neue Rechtesystem aktiviert, kann man dann im gleichen Reiter weiter unten ihm auch gleich eine Rolle zuweisen. Hat ein Benutzer des neuen Rechtesystem keine Rolle zugewiesen bekommen, darf er garnichts ausser sich im OSC einloggen. Er sieht dann keine Fahrzeuge in der Statusanzeige und kann auch keine Fenster öffnen.

Momentan gibt es Rechte zum Lesen/Editieren/Erstellen/Löschen jedes einzelnen Resourcetyps (Fahrzeuge, Mitarbeiter, Benutzer etc.) sowie für die etwas spezielleren Sachen wie Abrechnung, Fahrtenbuch etc..

Leserecht für eine Resource bedeutet, dass der Nutzer überhaupt erstmal auch das entsprechende Dialogfenster öffnen kann (andernfalls ist es ausgegraut) und im geöffneten Fenster die Liste der Resourcen sehen kann. Die Editfelder für die einzelnen Attribute auf der rechten Seite hingegen sind ausgegraut, er sieht nur Ihren Inhalt. Bemerkung: Wenn der eingeloggte Benutzer keine Leserecht auf Fahrzeuge hat, sieht er auch keine in der Statusanzeige im Hauptfenster.

Editierrecht bedeutet, dass der eingeloggte Nutzer alle Resourcen dieses Types ändern kann - die Attributfelder also nicht ausgegraut sind.

Erstellrecht bedeutet, dass für den eingeloggten Benutzer der Button zum Anlegen einer neuen Resource des entsprechenden Typs aktiviert wird.

Löschrecht bedeutet, dass für den eingeloggten Benutzer der Button zum Anlegen einer neuen Resource des entsprechenden Typs aktiviert wird.

Achtung: Jeder der das Recht auf das Editieren von Rollen hat, kann sich oder anderen Benutzern des gleichen Kunden neue Rechte geben!

Das System ist zusätzlich so angelegt, dass es gewisse Rechte gibt, die nicht jeder sehen bzw. verteilen darf. Zum Beispiel kann es einen Benutzer "Teamleiter" geben. Dieser könnte zwar innerhalb seiner ihm zugeteilten Mitarbeiter Lese- und schreibrechte verteilen dürfen, soll aber nicht unbedingt gleich das Recht zur Abrechnung oder zur Aktivierung des Fahrtenbuches sehen bzw. verteilen dürfen.

Daher gibt es eine Art Hirarchie an Rechten wie folgt: Alle Benutzer die direkt zum "A.R.T.E.C.O. GmbH"-Team gehören, haben immer spezielle "arteco"-Rechte aktiv. Aktuell ist das nur das Recht Crash-Dumps zu verwalten und das Recht alle Abrechnungs-spezifischen Sachen machen zu dürfen. Des weiteren gibt es weitere sogenannte "management"-Rechte die alle Arteco-Benutzer ebenfalls automatisch haben. Dazu gehören aktuell das Recht den Sync für Nutzer zu de-/aktivieren, das Recht das Fahrtenbuch für Nutzer zu de-/aktivieren und das Recht Managementrechte zu verwalten. Das letzte Recht soll kurz erläutert werden.

Alle Rechte (inklusive arteco- und management Rechten) können von authorisierten Benutzern (wenn er das z.B. das Recht "Editiere Benutzer" hat) an alle anderen vergeben werden. Diese sind für Ihn im Hintergrund aktiv, selbst wenn er garnicht selber das Recht hat Rechte zu sehen. Die speziellen Rechte sind ebenfalls aktiv für Ihn, aber selbst wenn er das Recht hat Rollen zu sehen und zu editieren, sieht er die speziellen Berechtigungen nicht und kann sie weder löschen noch anderen Nutzern zuteilen.

Im praktischen Beispiel könnte zum Beispiel Tommy (als direkter arteco Benutzer) einem Vertriebler das Recht auf die Abrechnungen geben. Da es aber ein sensibles Gebiet ist muss Tommy jedem Benutzer dieses Recht explizit zuweisen. Im anderen Fall, zum Beispiel bei Fahrtenbüchern soll der Vertriebler selber entscheiden können, welchen Unter-Benutzern er das Recht auf das Fahrtenbuch aktiviert, ohne das jedesmal ein arteco-Benutzer ran muss. Um dies zu gewährleisten gibt es das oben genannte dritte Recht auf Managementrechte. Sobald ein Nutzer dieses Recht von einem arteco benutzer zugewiesen bekommen hat, kann er alle Management-Rechte sehen und verteilen.

Die Hierarchie besteht also aus Arteco->Management->AllesAndere. An sich ist diese Struktur beliebig erweiterbar, sollte es Bedarf dafür geben.

Anleitung

Im Folgenden nun eine kurze Anleitung der ersten Schritte zur Einrichtung der neuen Rechte.

Hinweis 1: Die Nutzung der neuen Rechte muss für jeden Benutzer einzeln aktiviert werden!

Hinweis 2: Die Aktivierung der neuen Rechte für einen Benutzer kann nur durch Arteco-Mitarbeiter oder Benutzer mit Managment-Rechten erfolgen!


Beschreibung Bilder
Nach dem Einloggen und, wenn nötig, dem Wechseln in das gewünschte Team (Bild1), öffnet man den Benutzer-Dialog und wählt einen Benutzer aus. Wie im obigen Hinweis beschrieben sind die nötigen Bedienungselemente (Bild2) nur aktiviert als Arteco- oder Management-Mitarbeiter.
Bild1: Programmansicht nach dem Start
Bild2: Benutzer Dialog und markierte nötige Elemente
Wenn noch keinerlei Rollen definiert sind sollte zuerst eine solche angelegt werden. Dazu klickt man auf den Rechte-Reiter um in das Rechte-Menü zu kommen (Bild3). Ganz oben ist eine Auswahlliste für welches Team man die Rollen & Rechte ändern will. Darunter links ist eine Tabelle mit allen verfügbaren, noch nicht(!) zugewiesenen Rechten. Diese ist deaktiviert bis in der rechten Tabelle der Rollen und ihrer zugewiesenen Rechte eine Rolle zum bearbeiten ausgewählt wird. Im Beispiel ist zu sehen, dass bereits Rollen existieren - um eine neue anzulegen klickt man auf den Plus-Button und der Platzhalter für eine neue Rolle erscheint (Bild4).
Bild3: Rechte-Menü nach dem Öffnen
Bild4: Anlegen einer neuen Rolle
Es empfiehlt sich der Rolle einen sprechenden Namen und Beschreibung zu geben. Dazu klickt man doppelt auf das jeweilige Feld und gibt den gewünschten Text ein (Bild5). Anschließend muss noch auf den Speichern-Button gedrückt werden um nach der Bestätigung der darauf folgenden Abfrage die Änderung an den Server zu senden.
Bild5: Ändern des Rollennamen und der Rollenbeschreibung
Als nächstes wird ein Recht zu der neuen Rolle hinzugefügt. Dazu wird die neue Rolle ausgewählt und ihr aus der linken Tabelle ein verfügbares Recht durch Doppelklick oder den "Pfeil-nach-Rechts"-Button zugewiesen (Bild6). In der rechten Tabelle ist beispielhaft das Recht Fahrzeuge sehen zu dürfen hinzugefügt worden (Liste der Rechte siehe unten). Durch aufklappen der Rolle mit dem kleinen Pfeil links vom Rollennamen können wir das überprüfen. Anschließend muss die Änderung wieder gespeichert werden (Bild7).

Hinweis3: Rechte werden immer der aktuell ausgewählten Rolle zugewiesen!

Hinweis4: Nur verfügbare, noch nicht zugewiesene Rechte erscheinen für die jeweils ausgewählte Rolle in der Tabelle links!

Bild6: Hinzufügen eines Rechts zu einer Rolle
Bild7: Rechte einer Rolle Anzeigen und Rolle Speichern
Das Entfernen von Rechten einer Rolle erfolgt wieder durch Doppelklick oder den "Pfeil-nach-Links"-Button. Eine Rolle löscht man durch den Button mit dem roten Kreuz (Bild8).
Bild8: Entfernen von Rechten und Löschen von Rollen
Nun kann zurück in den Konfigurations-Reiter gewechselt, das neue Rechtesystem aktiviert und die neu angelegte Rolle zugewiesen werden (Bild9). Anschliessend muss der Benutzer gespeichert werden um die Änderungen zu übernehmen. Dies erfolgt nur für den aktuell ausgewählten Benutzer.
Bild9: Aktivieren des Rechtesystems und Zuweisen einer Rolle zum ausgewählten Benutzer
Zur Überprüfung wurde an dieser Stelle nochmal als besagter Nutzer angemeldet. Wie zu sehen ist (Bild10) kann er wie durch die Rechte seiner Rolle vorgegeben nur Fahrzeuge sehen. Alle anderen Dialoge sind deaktiviert.
Bild10: Hauptansicht mit aktivierten Rechten

Aktuelle Rechte nach Kategorien

Im Client entsprechend übersetzt!

View

view_systems
view_coworkers
view_garmins
view_locations
view_users
view_trailers
view_customers
view_events
view_groups
view_sms
view_reports
view_fms
view_user_messages

Edit

edit_coworkers
edit_customers
edit_events
edit_garmins
edit_groups
edit_locations
edit_systems
edit_trailers
edit_users
edit_user_messages

Create

create_coworkers
create_customers
create_events
create_garmins
create_groups
create_locations
create_systems
create_trailers
create_users
create_user_messages

Destroy

destroy_coworkers
destroy_customers
destroy_events
destroy_garmins
destroy_groups
destroy_locations
destroy_systems
destroy_trailers
destroy_users
destroy_user_messages

General/Unspecified

// Rollenrechte könnten in die Management Gruppe kommen?
create_roles
destroy_roles
edit_roles
view_roles
use_windows // könnte an sich durch view Regeln dargestellt werden, erstmal angelegt als pendant zu user->right_windows

Arteco Only

manage_dumps // momentan nur wichtig für webservice um symbols hochzuladen und gesendete dumps sehen zu dürfen
manage_payment // Abrechnung

Management (Arteco user haben implizit management rechte)

do_management // Generelles Management Recht
// Nur Management soll sync und Fahrtenbuch Rechte vergeben dürfen, daher sind diese in dieser Kategorie
do_sync
manage_travels

Finale Tests

  • Anlegen einer Rolle Check.gif
  • Ändern des Rollennamen & -beschreibung Check.gif
  • Löschen einer Rolle Check.gif
  • Rollencombo reagiert korrekt auf die obigen drei Aktionen Check.gif

Folgende Tests sind mit zwei OSC Instanzen getätigt, um gleichzeitig die funktionierende Rechtevergabe "on-the-fly" zu überprüfen

  • Anlegen eines Benutzers und zuweisen einer neuen Rolle mit "Fahrzeug Sehen" und "Sync" (nur durch arteco oder management nutzer möglich) Check.gif
  • Einloggen mit erstelltem Benutzer und überprüfen der korrekten Rollenumsetzung Check.gif
  • Ändern der Rolle und Überprüfung ob dies korrekt umgesetzt wird Check.gif
  • Ändern von Berechtigungen und Überprüfung ob dies korrekt umgesetzt wird Check.gif
  • Hinzufügen/Entfernen der einzelnen Resourcerechte und jeweils Funktionscheck Check.gif
  • Hinzufügen/Entfernen der arteco/management Rechte und Funktionscheck Check.gif
  • Stresstest: alle Fenster offen und diverse beliebige Rollen und Funktionscheck Check.gif
  • Stresstest Rechte UI: diverses schnelles rumklicken und ändern von Rollen Check.gif
  • Test der Sichtbarkeit von arteco/management Rechten Check.gif

Grundlegende Funktionalität-Tests Check.gif

  • Aktivieren des Neuen Rechte-Status Check.gif
    • Aktivieren geht nur von arteco usern oder usern mit "Management"-Rechten Check.gif
  • Propagieren von Rollen/Rechteänderungen (durch update vom webservice, ausgelöst im web selber oder durch andern client) Check.gif
    • De/Aktivieren von Fenstern Check.gif
  • Anzeige der Rollen-Combo nur für user mit "Rollen Sehen"-Rechten Check.gif
  • Editierbarkeit der Rollen-Combo nur für user mit "Rollen Editieren"-Rechten Check.gif
  • Customer kann Rollen seiner Subcustomer sehen Check.gif
  • Resourcerechte in den Dialogen überprüfen Check.gif
    • Fahrzeuge sehenCheck.gif/anlegenCheck.gif/editierenCheck.gif/löschenCheck.gif
      • UI Elemente de-/aktivieren Check.gif
        • verschiedenen Reiter (Management, Archiv etc.) Check.gif
        • default coworker combo deaktivieren wenn keine rechte auf coworker Check.gif
    • Adressen sehenCheck.gif/anlegenCheck.gif/editierenCheck.gif/löschen Check.gif
      • UI Elemente de-/aktivieren Check.gif
    • Teams sehenCheck.gif/anlegenCheck.gif/editierenCheck.gif/löschen Check.gif
      • UI Elemente de-/aktivieren Check.gif
        • Teamauswahl nur aktiv wenn "Team editieren"-Recht aktiv Check.gif
        • Accounting Reiter nur bei "Abrechnungs Recht" Check.gif
    • Garmins sehenCheck.gif/anlegenCheck.gif/editierenCheck.gif/löschen Check.gif
      • UI Elemente de-/aktivieren Check.gif
        • Teamauswahl nur aktiv wenn "Team sehen"-Recht aktiv Check.gif
        • Mitarbeiterauswahl nur aktiv wenn "Mitarbeiter sehen"-Recht aktiv Check.gif
    • Mitarbeiter sehenCheck.gif/anlegenCheck.gif/editierenCheck.gif/löschen Check.gif
      • UI Elemente de-/aktivieren Check.gif
        • Teamauswahl nur aktiv wenn "Team editieren"-Recht aktiv Check.gif
    • Benutzer sehenCheck.gif/anlegenCheck.gif/editierenCheck.gif/löschen Check.gif
      • UI Elemente de-/aktivieren Check.gif
        • Rechte Tab nur aktiv wenn "Rechte Sehen" oder arteco/management Benutzer Check.gif
        • Buttons für Rollenänderungen und das Hinzufügen/Entfernen nur aktiv bei entsprechenden Rechten Check.gif
        • Teamauswahl nur aktiv wenn "Team sehen"-Recht aktiv Check.gif
    • Anhänger sehenCheck.gif/anlegenCheck.gif/editierenCheck.gif/löschen Check.gif
      • UI Elemente de-/aktivieren Check.gif
    • Ereignisse sehenCheck.gif/anlegenCheck.gif/editierenCheck.gif/löschen Check.gif
      • UI Elemente de-/aktivieren Check.gif
        • Fahrzeug/Gruppenauswahl nur aktiv wenn "Fahrzeug/Gruppe sehen"-Recht aktiv Check.gif
    • Gruppen sehenCheck.gif/anlegenCheck.gif/editierenCheck.gif/löschen Check.gif
      • UI Elemente de-/aktivieren Check.gif
        • Teamauswahl nur aktiv wenn "Team sehen"-Recht aktiv Check.gif
        • Adressauswahl nur aktiv wenn "Adresse sehen"-Recht aktiv Check.gif
  • Reports Check.gif (man könnte wenn erforderlich für jeden einzelnen Report ein recht erstellen)
  • Rollen, SMS, FMS Check.gif
  • Management und arteco Rechte Check.gif (die entsprechenden Reiter in den Dialogen sind ncoh nciht mit den neuen Rechten verbunden)
  • Rollen/Rechte UI Check.gif
    • spezielle Rechte (manage und arteco) werden inzwischen auch korrekt behandelt (u.a. graue unterlegt und nicht anklickbar