-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Milestone
Description
Basics of the System
Any permissions system usually contains three building blocks for fine-grained permissions.
- Permissions
- Roles/Groups
- Users
Permissions
Permissions are the individual actions a user can perform that can be gated. For example, "edit project", or "edit project members".
Roles/Groups
Roles (sometimes called Groups) are sets of permissions which can be applied to users. A "project owner" role might contain the "edit project" permission, as well as the "edit project members" permission.
Users
Users, obviously, are users in the system. Each user can be assigned one or more roles.
Projects
In addition to the above basic system, individual users will require permissions specific to a certain project which they do not have on other projects.
Conceptual Diagram
erDiagram
USER }|--|{ ROLE : roles
USER }|--|{ PROJECT : projects
ROLE }|--|{ PERMISSON : permissions
ROLE }o--o| PROJECT : project
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
📋 Backlog