abdulrahim / filament-modular-permissions
Modular Roles and Permissions for Filament with easy publishing and syncing.
Package info
github.com/AbdulrahimAl-Ghazi/filament-modular-permissions
pkg:composer/abdulrahim/filament-modular-permissions
Requires
- php: ^8.1
- filament/filament: ^3.0|^4.0|^5.0
- spatie/laravel-permission: ^6.0|^7.0
README
A professional Laravel package for modular roles and permissions in Filament V3. Supporting multi-panel, auto-syncing, and global shield protection.
Features
- Smart Sync: Sync all resources and widgets with Spatie permissions in one command.
- Global Shield (New): Protect all panel resources from one place using a single Middleware.
- Multi-panel Support: Publish and manage permissions for each panel independently.
- Super Admin Gate: Automatically grants all permissions to the
super_adminrole. - Dynamic & Customizable: Fully customizable config, stubs, and translations.
- Localization: Supports Arabic and English out of the box.
Installation
- Install the package via composer:
composer require abdulrahim/filament-modular-permissions
- Sync initial permissions:
php artisan permissions:sync
- Publish the Roles resource:
php artisan permissions:publish-resources
Activation
Option 1: Global Shield (Recommended)
Add the middleware to your PanelProvider to protect all resources automatically:
use Abdulrahim\FilamentModularPermissions\Http\Middleware\ModularPermissionsMiddleware; public function panel(Panel $panel): Panel { return $panel->authMiddleware([ ModularPermissionsMiddleware::class, ]); }
Option 2: Manual Trait (Fine-grained)
Add the trait to your Resource class:
use Abdulrahim\FilamentModularPermissions\Traits\HandlesResourcePermissions; class UserResource extends Resource { use HandlesResourcePermissions; }
Contact
Email: abaad.dev8@gmail.com
Website: abaad.dev
نظام الصلاحيات والأدوار الموديولر لـ Filament
مكتبة احترافية لإدارة الأدوار والصلاحيات في Filament V3 تعتمد على المبدأ الموديولر، مع دعم كامل لتعدد لوحات التحكم (Multi-panel) والترجمة الآلية.
المميزات الرئيسية
- نظام مزامنة ذكي: أمر واحد لمزامنة جميع الموارد والويدجت مع نظام Spatie.
- الحماية الشاملة (جديد): تفعيل نظام الصلاحيات لجميع الأقسام عبر Middleware واحد.
- دعم تعدد اللوحات: إدارة الصلاحيات لكل لوحة تحكم بشكل مستقل تماماً.
- السوبر أدمن: نظام Gate يعطي كافة الصلاحيات لدور
super_adminتلقائياً. - قابل للتخصيص: تحكم كامل في الإعدادات، القوالب، والترجمات.
التثبيت
- تحميل المكتبة:
composer require abdulrahim/filament-modular-permissions
- مزامنة الصلاحيات:
php artisan permissions:sync
- نشر واجهة الإدارة:
php artisan permissions:publish-resources
تفعيل الحماية
الطريقة الأولى: الحماية الشاملة (الموصى بها)
أضف الوسيط التالي في ملف الـ PanelProvider:
use Abdulrahim\FilamentModularPermissions\Http\Middleware\ModularPermissionsMiddleware; public function panel(Panel $panel): Panel { return $panel->authMiddleware([ ModularPermissionsMiddleware::class, ]); }
التواصل
البريد الإلكتروني: abaad.dev8@gmail.com
الموقع الإلكتروني: abaad.dev
License
MIT License.