RBAC - v1.0.0
Requirements
PHP
- PHP 8.2 or higher
Laravel
- Laravel 10 / 11 / 12
The package targets illuminate/support: ^10.0|^11.0|^12.0. No compatibility shims — if you're on Laravel 9 or below, stay on artisanpack-ui/security 1.x.
Dependencies
The only runtime dependency outside Laravel is artisanpack-ui/core (^1.0), pulled in automatically by Composer.
Cache driver
The package caches resolved permission names and per-user permission collections. Any Laravel cache driver works, but tagged caches (redis, memcached) give the most precise invalidation:
| Driver | Cache invalidation strategy |
|---|---|
redis / memcached |
Tag-scoped — only RBAC entries are flushed when permissions change |
file / database / array |
Key-based — the package falls back to individual forget() calls |
If you're using file or database cache, the package still works correctly; you just lose the per-tag granularity. See Caching for tuning.
Database
Any Eloquent-supported driver (MySQL, PostgreSQL, SQLite, SQL Server). The migrations use standard column types — no driver-specific syntax.
Auth provider
The package reads config('auth.providers.users.model') to identify the User model for the role_user pivot. The standard Laravel auth setup is sufficient; custom guards work as long as the underlying provider exposes a user model.