Role Based Access Control - hybridgit/admin GitHub Wiki

Introduction

The Admin App will implement a Role-Based Access Control (RBAC), where every user in the system would be a assigned a role; e.g. a user could be long to the role of administrators, driver instructors or simply drivers. Each role would have access to the different features of the app according to the permission provided to it. For example, an administrator of the system would have access to all parts of the applications without any restrictions, while driver instructor will only be provided the driver information for which he/she is responsible for. Likewise a driver, would only have access to his/her profile, reviews, instructional materials etc.

The RBAC would also provide user sign in/out functionality.

Database Design

The models to use for RBAC are shown below:

Role-Base Access Control Models

The main entities here are the User, Role and Permission. The UserRole and RolePermission models represent a many to many relationship between the respective models.

⚠️ **GitHub.com Fallback** ⚠️