nuewire / acl
Optional roles and permissions UI for Nuewire users, powered by spatie/laravel-permission.
Requires
- php: ^8.2
- illuminate/auth: ^11.0|^12.0|^13.0
- illuminate/console: ^11.0|^12.0|^13.0
- illuminate/contracts: ^11.0|^12.0|^13.0
- illuminate/database: ^11.0|^12.0|^13.0
- illuminate/support: ^11.0|^12.0|^13.0
- illuminate/translation: ^11.0|^12.0|^13.0
- illuminate/validation: ^11.0|^12.0|^13.0
- illuminate/view: ^11.0|^12.0|^13.0
- livewire/livewire: ^3.6|^4.0.3
- nuewire/support: ^1.0
- nuewire/users: ^1.0
- spatie/laravel-permission: ^6.0|^7.0|^8.0
Requires (Dev)
- orchestra/testbench: ^9.0|^10.0|^11.0
- phpunit/phpunit: ^11.0|^12.0
Suggests
- nuewire/platform: Adds Roles & Permissions under Settings > User Management.
README
Optional role and permission management for nuewire/users, powered by spatie/laravel-permission.
Install
composer require nuewire/acl
Add both Nuewire traits to the application user model:
use Illuminate\Notifications\Notifiable; use Nuewire\Acl\Concerns\HasNuewireAcl; use Nuewire\Users\Concerns\NuewireUser; class User extends Authenticatable { use Notifiable; use NuewireUser; use HasNuewireAcl; }
Initialize ACL:
php artisan nuewire:acl:install --migrate --user=admin@example.com
Existing is_admin=true users are migrated to the administrator role. The selected user receives super-admin.
Components
<livewire:nuewire-users /> <livewire:nuewire-acl />
The Users component switches automatically from simple administrator mode to ACL mode after the permission tables and a super admin are ready. With Platform 2, ACL registers Settings → User Management → Roles & Permissions at /admin/settings/roles.
Commands
php artisan nuewire:acl:install --migrate --user=admin@example.com php artisan nuewire:acl:sync
Run nuewire:acl:sync after installing or updating Nuewire packages so newly registered permissions are created.
Configuration
php artisan vendor:publish --tag=nuewire-acl-config
config/nuewire/acl.php
Complete usage is available in the suite file docs/USERS_AND_ACL.md.
Compatibility notes
Composer selects a compatible Spatie major version for the host Laravel and PHP versions. For UUID or ULID users, customize the published Spatie migration before migrating. The first release uses one global guard and does not provide a teams UI. Role and Permission model classes follow config/permission.php.