Berechtigungen in Vertec vergeben
Produktlinie
Standard
|Expert
Betriebsart
CLOUD ABO
|ON-PREMISES
Module
Leistung & CRM
Budget & Teilprojekt
Fremdkosten
Ressourcenplanung
Business Intelligence
In Vertec besteht die Möglichkeit, einem Bearbeiter verschiedene Berechtigungen zuzuordnen. Diese Berechtigungen sind danach überall in Vertec gültig.
Folgende Berechtigungstypen sind möglich:
Berechtigungen werden immer auf Benutzergruppen definiert. Alle Bearbeiter, die dieser Benutzergruppe zugeordnet werden, übernehmen die dort vergebenen Berechtigungen.
Die einzelnen Berechtigungen können bis auf einzelne Felder in Vertec vergeben werden. Normalerweise werden die Rechte erteilt. Will man aber das Gegenteil einer Berechtigung bewirken, setzt man den Status auf verweigern.
Die entsprechenden Berechtigungen werden wie folgt vergeben:
Um eine neue Berechtigung hinzuzufügen, klicken Sie auf Neue Berechtigung. Es erscheint eine neue Zeile in der Liste, welche Sie entsprechend bearbeiten können. Die möglichen Werte werden Ihnen über Drop-Down-Listen angeboten:
Um eine Berechtigung zu löschen, markieren Sie die entsprechende Zeile in der Liste und klicken Sie auf Berechtigung löschen.
Berechtigungen können auch auf einzelnen Objekten vergeben werden. Dabei kommt die Berechtigung nur auf dem einzelnen Objekt zum Tragen und nicht, wie bei normalen Berechtigungen, auf allen Objekten eines bestimmten Typs.
Um eine Objekt-Berechtigung zu erstellen, gehen Sie wie folgt vor:
Auf Berechtigungen kann eine OCL-Expression angegeben werden. Das entsprechende Recht wird nur berücksichtigt, wenn die Expression für das Objekt, für welches die Berechtigung geprüft wird, wahr ergibt.
In nachfolgendem Beispiel wird überprüft, ob der Adressbetreuer identisch ist mit dem eingeloggten Benutzer. Ist dies der Fall, wird das Schreibrecht für die entsprechenden Adressen erteilt. Um den Zugriff auf den eingeloggten Benutzer zu vereinfachen gibt es die Variable varLogin, welche direkt auf den aktuellen Benutzer verweist.
In Kombination von Berechtigungen über verschiedene Benutzergruppen hinweg ist die Auswertung der Berechtigung abhängig vom Objekt, für welches die Berechtigung abgefragt wird.
Folgendes gilt dabei für Berechtigungen mit Expressions:
Expressions auf Berechtigungen können zu einer Beeinträchtigung der Performance führen. Das Problem ist, dass bei jedem Zugriff auf ein Member die Berechtigung geprüft werden muss - ein "Zwischenspeichern" geht nicht, weil das Resultat der Expression ja ändern kann zwischen 2 Aufrufen. Insbesondere Lese-Rechte, die auf ganze Klassen vergeben werden (also nicht auf einzelne Felder) müssen so für jedes einzelne Feld erneut überprüft werden.
Sie sollten die Rechte möglichst knapp formulieren, also zum Beispiel Schreib- statt Leserecht (welches oft sowieso vorhanden ist, beispielsweise bei Adresseinträgen) oder nur auf einzelne Felder vergeben.
Grundsätzlich gilt: Lese-Rechte auf Klassenebene nicht ohne Angabe der entsprechenden Feldern, insbesondere für Klassen, die entweder in Listen dargestellt werden (wie Leistung, Adresseintrag) oder in Summen verwendet werden (Rechnung).
Bearbeiter werden Benutzergruppen zugeordnet, auf welchen man die Rechte definiert. Dabei gilt es, folgendes zu beachten:
Beim Aufbau eines Berechtigungssystems mit verschiedenen Benutzergruppen empfiehlt es sich, die Gruppen generell so aufzubauen, dass Rechte "erteilt" werden.
Grund ist der Grundsatz "erlauben vor verbieten" bei der Kombination von verschiedenen Benutzergruppen. Es funktioniert also nicht, eine Gruppe zu machen, die einfach alles kann, und dann in anderen Gruppen gewisse Rechte einzuschränken.
Am Besten geht man von einer Standardbenutzergruppe aus, die nichts kann bzw. in der alles verweigert wird, was irgendwo verweigert werden muss. Dieser Standardbenutzergruppe sind grundsätzlich alle Bearbeiter zugeordnet.
Dann baut man die weiteren Benutzergruppen auf, in denen je nach Gruppe die weiteren Rechte erteilt werden. Die Bearbeiter, die dann diesen Gruppen zugeordnet werden, erhalten so gewisse Rechte dazu.
Je nachdem, in welcher Reihenfolge oder Kombination die Berechtigungen vergeben sind, werden die Rechte im Vertec berechnet. Dabei gelten folgende Grundsätze:
Wenn man sich konkurrenzierende Berechtigungen hat wie z.B. "Standarduser dürfen Member XY nicht lesen, Projektleiter aber schon" muss man darauf achten, die gleichen Berechtigungstypen zu verwenden: Wenn "Lesen" gesperrt wird, muss auch "Lesen" wieder freigegeben werden. Und falls eine Expression hinterlegt ist, muss auf der konkurrenzierenden Berechtigung die gleiche Expression hinterlegt werden.
Objekt-Berechtigungen werden genau gleich behandelt wie die normalen (Klassen-) Berechtigungen, sie kommen einfach nur bei einem bestimmten Objekt zur Anwendung.
Falls der User ein Superuser (Administrator mit dem Recht Super) ist, dann entfallen die Schritte 2 und 3.
Es gibt eine Reihe von Rechten, die durch Berechtigungslisten nicht übersteuert werden können, da sie den reibungslosen Betrieb von Vertec gefährden würden. Beispiele dafür sind das inaktiv setzen eines Administrators, das Vornehmen von Änderungen an verrechneten Werten, das Aktivieren von Bearbeitern über die Lizenzanzahl hinaus etc.