Rechtesystem

Aus ARTECO Wiki
Zur Navigation springen Zur Suche springen

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.

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

Edit

edit_coworkers
edit_customers
edit_events
edit_garmins
edit_groups
edit_locations
edit_systems
edit_trailers
edit_users

Create

create_coworkers
create_customers
create_events
create_garmins
create_groups
create_locations
create_systems
create_trailers
create_users

Destroy

destroy_coworkers
destroy_customers
destroy_events
destroy_garmins
destroy_groups
destroy_locations
destroy_systems
destroy_trailers
destroy_users

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

Tests:

  • 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
  • Resourcerechte in den Dialogen überprüfen Cross.png
    • Fahrzeuge sehen/anlegen/editieren/löschenCross.png
    • Adressen sehen/anlegen/editieren/löschenCross.png
    • Teams sehen/anlegen/editieren/löschenCross.png
    • Garmins ehen/anlegen/editieren/löschenCross.png
    • Mitarbeiter sehen/anlegen/editieren/löschenCross.png
    • Benutzer sehen/anlegen/editieren/löschenCross.png
    • Anhänger sehen/anlegen/editieren/löschenCross.png
    • Ereignisse sehen/anlegen/editieren/löschenCross.png
    • Gruppen sehen/anlegen/editieren/löschenCross.png
  • Rollen, SMS, Reports, FMSCross.png
  • Management und arteco RechteCross.png
  • Rollen/Rechte UICross.png