Role-Based Access Control Model
Users belong to teams and hold roles; roles bundle the permissions that actually gate an action — the object model behind most RBAC implementations.
Mermaid source
classDiagram
class User {
-string id
-string email
+hasPermission(action) bool
}
class Role {
-string name
+permissions() Permission[]
}
class Permission {
-string action
-string resource
}
class Team {
-string name
}
User "many" --> "many" Role : assigned
Role "many" --> "many" Permission : grants
Team "1" *-- "many" User : containsCategory: Architecture · Tags: rbac, auth, class-diagram