Users App
Users app is in charge of authentication and authorizations/permissions.
This app use an RBAC approach (Role Based Access Control).
Model Objects
Details
Following models may be directly managed by users:
- User: Represent a physical person.
- Group: Represent a group of users that want to work together.
- Right: For each entity in app, a user can have rights like: read, create, update, delete, execute or subscribe...
- RoleType: A roletype, is a preconfigured or a user configured combination of rights on some entities.
- Role: It's the link between group, users and roletype. A user can have as many roles as groups membership.
- Invitation: Is a demand for a user to join a group with a roletype. The user may be registered or not.
This others models are indirectly created by users via some actions:
- RequestChange: Is created temporarily when a user want to change it's email or it's password.
- Token: Is created for each successful login attempt.
Entities Relationship Diagram
---
title: Model Relationship (RBAC)
---
erDiagram
Right }|--|| RoleType: has
User }|--|{ Role: has
Group }|--|{ Role: in
RoleType }|--|{ Role: with
User }o--o{ Token: has
erDiagram
User }|--o{ Invitation: from
Group }|--o{ Invitation: join
RoleType }|--o{ Invitation: with