Users and Roles

From Developer Documents
Jump to navigation Jump to search


User and role modelling in the semantic database is supported to enable user and use case specific user interface logic.

Basic concepts

User account

User accounts are needed in authentication of Simantics services such as database connections and experiment servers. User authentication in Simantics is based on LDAP?

User model

A user model is a representation of a user account in the Simantics database.

Role

A user always assumes a single role in the user interface. Various user interface rules can be attached into roles e.g. to allow or disallow certain operations. The user interface can also use the user and role information for selecting which data to show.

Modelling

UsersAndRoles.png

File:UsersAndRoles.graphml

The ontology can be found in org.simantics.layer0/graph/UsersAndRoles.pgraph

Using the model

The following guidelines are defined

  • The set of RoleAssignments from the session model are used to determine the model active role for the session
  • Available users can be found under http://Users
  • All roles defined for a model can be found by searching L0.Role in dependencies
  • All role rules available for a model can be found by searching L0.RoleRule in dependencies
  • All role assignments for a model can be found by searching L0.RoleAssignment in dependencies
  • Available roles for the session per model are queried by determining all role assignments and by filtering by user
  • The active role rule list is obtained by first determining the model active role and then by traversing the inheritance chain.
  • Application code decides how to interpret the active role rule list.