beartropy/permissions
🛡️ Beartropy Permissions
A beautiful UI for spatie/laravel-permission
Manage roles, permissions, and user assignments with ease
This package provides an intuitive admin UI for spatie/laravel-permission, the industry-standard package for role and permission management in Laravel. Built with Livewire and designed with modern aesthetics in mind.
Note: This is not a replacement for
spatie/laravel-permission. It's a visual interface that makes it easier to manage the roles and permissions you create with Spatie's excellent package.
✨ Key Features
- �️ Role Management - Create, edit, and delete roles with an intuitive interface
- 🔑 Permission Management - Manage permissions with automatic grouping support
- 👥 User Assignments - Assign roles and direct permissions to users
- 📊 Data Tables - Searchable, sortable tables with bulk actions
- 🌐 Internationalization - Full i18n support (Spanish and English included)
- 🎨 Dark Mode - Seamless dark/light mode support
- ⚙️ Highly Configurable - Customize routes, middleware, guards, and more
� Documentation
�👉 Read the full documentation at beartropy.com/permissions
🚀 Quick Installation
composer require beartropy/permissions
Setup Spatie Permission (if not installed)
composer require spatie/laravel-permission
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
php artisan migrate
Add HasRoles trait to User model
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable
{
use HasRoles;
}
Access the UI
Navigate to /permissions in your application.
⚙️ Configuration
Publish the configuration file:
php artisan vendor:publish --tag=beartropy-permissions-config
// config/beartropy-permissions.php
return [
'prefix' => 'permissions',
'middleware' => ['web', 'auth', 'can:manage-permissions'],
'gate' => 'manage-permissions',
'user_model' => App\Models\User::class,
'guards' => ['web'],
'default_guard' => 'web',
'user_display_field' => 'name',
'user_search_fields' => ['name', 'email'],
'group_permissions' => true,
'permission_group_separator' => '.',
];
🎨 Customization
Publish Views
php artisan vendor:publish --tag=beartropy-permissions-views
Publish Translations
php artisan vendor:publish --tag=beartropy-permissions-lang
📝 Permission Naming Convention
Use dot notation for automatic grouping:
| Permission | Group |
|---|---|
users.view |
users |
users.create |
users |
posts.edit |
posts |
settings.view |
settings |
🌐 Internationalization
The package includes translations for:
- 🇪🇸 Spanish (es)
- 🇺🇸 English (en)
Add more languages by publishing translations and creating new language files.
📦 Requirements
- PHP 8.2+
- Laravel 10.x or 11.x
- Livewire 3.x
- spatie/laravel-permission ^6.0
- beartropy/ui ^1.0
- beartropy/tables ^1.0
🤝 Contributing
Please see CONTRIBUTING for details.
📄 License
The MIT License (MIT). Please see License File for more information.
[!NOTE] Disclaimer: This software is provided "as is", without warranty of any kind, express or implied. Use at your own risk.
Related Packages
Easy to use package to implement Spatie's Permissions package into Inertia Larav...
Package that provides a graphical interface to manage roles and permissions.
A complete admin panel (Livewire 4 + Flux UI) for managing permissions, roles, r...
Laravel policy scaffolding and permission management built on Spatie Permissions
Version History
| Version | Released | PHP | License |
|---|---|---|---|
| 0.2.4 | ^8.2 | MIT | |
| 0.2.3 | ^8.2 | MIT | |
| 0.2.2 | ^8.2 | MIT | |
| 0.2.1 | ^8.2 | MIT | |
| 0.2.0 | ^8.2 | MIT | |
| 0.1.2 | ^8.2 | MIT | |
| 0.1.1 | ^8.2 | MIT | |
| 0.1.0 | ^8.2 | MIT |