User Role Management - medhatelmasry/GoodBooks GitHub Wiki
Overview
The User Role system implements Role-Based Access Control (RBAC) for the GoodBooks accounting application, providing secure access management through predefined security roles, permissions, and user assignments.
Key Components
Security Model:
- Users - Individual accounts with credentials and profile information
- Roles - Security roles that define access levels (e.g., SystemAdministrators, GeneralUsers)
- Permissions - Granular access rights grouped by functional areas (Accounts Receivable, Accounts Payable, Financials, System Administration)
- User-Role Assignments - Many-to-many relationship linking users to one or more roles
Built-in Roles
-
System Administrators:
- Full administrative access to all system resources
- Can manage users, roles, and system configuration
- Access to all CRUD operations including tax management and account deletion
-
General Users:
- Limited access for regular business operations
- Read-only access to most resources
- Can create/update transactions but cannot modify system settings or tax rates
Features:
- Automatic role assignment (new users receive "GeneralUsers" role by default)
- Permission-based authorization at the controller level
- User management interface with role visualization
- Support for multiple roles per user
- Hierarchical permission structure through Security Groups
Default Test Accounts
- Admin: [email protected] / P@ssword1 (SystemAdministrators)
- User: [email protected] / P@ssword1 (GeneralUsers)