Skip to content

ADR-008 security-roles

Status

accepted

Context

We need to restrict access to certain features of the application so users can only use and see what is meant for them.

Permission-based access would require a non-open source component, and this product should be open source in all aspects.

Decision

We are using a role-based security model in favor of a permission-based model.

Todo

  • All backend rest controller methods need the @PreAuthorized-Annotation for role binding
  • All frontend components that should be secured should have the custom v-security directive
  • Roles for personas have to be defined and implemented in the keycloak

Consequences

Access restrictions have to be considered for each feature. By using role-based access management, the authorization is less complicated, than it would be with permission-based access management, as the granularity is lower and therefore easier to maintain.

Contact and Imprint
Made with 💛 in Munich