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

  1. 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
  1. 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