Looking to hire Laravel developers? Try LaraJobs

laravel-roles maintained by enadstack

Description
Reusable Roles & Permissions (single or multi-tenant teams) on spatie/laravel-permission
Author
Last update
2025/12/24 09:39 (dev-main)
License
Links
Downloads
110

Comments
comments powered by Disqus

Laravel Roles

A reusable, multi-tenant, guard-aware ACL system for Laravel applications built on top of spatie/laravel-permission.

Features

  • Contract-based architecture with dependency injection
  • Three tenancy modes: single, team-scoped, multi-database
  • Guard-aware role and permission management
  • Contextual caching (tenant, guard, locale aware)
  • Permission matrix with efficient queries (no N+1)
  • Diff-based permission sync with wildcard support
  • Optional Vue UI (Inertia.js + shadcn-vue)
  • Comprehensive artisan commands
  • Full i18n support for labels and descriptions

Requirements

  • PHP 8.2+
  • Laravel 12.0+
  • spatie/laravel-permission 6.0+

Supported Tenancy Modes

Mode Description
single Non-multi-tenant applications
team_scoped Spatie's built-in team feature
multi_database External providers (stancl/tenancy, etc.)

Installation

composer require enadstack/laravel-roles
php artisan roles:install
php artisan roles:sync

Documentation

Changelog

See CHANGELOG.md for release history.

License

MIT License. See LICENSE for details.

Credits