How to assign user rights in Vertec
Product line
Standard
|Expert
Operating mode
CLOUD ABO
|ON-PREMISES
Modules
Services & CRM
Budget & Phases
Purchases
Resource Planning
Business Intelligence
In Vertec, it is possible to assign user rights to a user. These user rights are then valid everywhere in Vertec.
The following user right types are possible:
User rights are always defined on user groups. All users assigned to this user group receive the user rights assigned there.
You can assign individual user rights in Vertec, with the exception of a few individual fields. Usually, rights are granted. However, if you want to effect the opposite of a user right, set the status to deny.
The corresponding user rights are assigned as follows:
To add a new user right, click on New user right. A new row appears in the list, which you can edit accordingly. The possible values are offered via drop-down lists:
To delete a user right, select the appropriate row in the list and click Delete user right.
Rights can also be assigned to individual objects. In this case, the rights only apply to the individual object and not, as with standard user rights, to all objects of a specific type.
To create an object right, follow these steps:
User rights can be specified with an OCL expression. The corresponding right is taken into account only if the expression is true for the object for which the user right is being checked.
The following example checks whether the address administrator is identical to the logged-in user. If this is the case, write permission is granted for the corresponding addresses. To simplify access to the logged-in user, the variable varLogin exists, which refers directly to the current user.
When combining user rights across different user groups, the evaluation of the user right depends on the object for which the user right is requested.
The following applies to user rights with expressions:
User right expressions can lead to performance impairments. The problem is that the user right has to be checked every time a member is accessed. A “cache” is not possible, because the result of the expression can change between two callups. In particular, read rights that are assigned to entire classes (i.e. not to individual fields) have to be checked again for each individual field.
You should formulate the rights as concisely as possible, e.g. write instead of read (which is often present anyway, e.g. for addresses) or assign the rights only to individual fields.
In principle: Do not define read rights at class level without specifying the relevant fields, especially for classes that are either shown in lists (such as service, address) or used in totals (invoice).
Users are assigned to user groups, on which the rights are defined. The following must be observed:
When setting up an authorization system with different user groups, it is advisable to generally set up the groups in such a way that rights are “granted”.
The reason is the “allow before forbid” principle when combining different user groups. So it doesn’t work to create a group that can just do everything and then restrict certain rights in other groups.
It is best to start with a standard user group that cannot do anything or in which everything that needs to be denied is denied. In principle, all users are assigned to this standard user group.
Next you can set up the other user groups, in which the additional rights are granted depending on the group. Users who are then assigned to these groups receive certain rights.
Rights are calculated in Vertec based on the order or combination in which the user rights are assigned. The following principles apply:
If you have competing user rights such as “standard users are not allowed to read member XY, but project managers can” you have to use the same right types: If “read” is blocked, “read” must be reactivated. And if an expression is defined, the same expression must be defined on the competing user right.
Object rights are treated exactly the same as usual (class) user rights. They can only be applied to a specific object.
If the user is a superuser (administrator with super rights), steps 2 and 3 are omitted.
There are a number of rights that cannot be overridden by user right lists, as they would jeopardize the smooth operation of Vertec. Examples: deactivating an administrator, making changes to invoiced values, activating users beyond the number of licenses, etc.