mitul456/laravel-multi-role-auth
Composer 安装命令:
composer require mitul456/laravel-multi-role-auth
包简介
A comprehensive multi-role authentication system for Laravel
README 文档
README
A powerful, flexible, and production-ready multi-role authentication system for Laravel applications.
📋 Table of Contents
- Features
- Requirements
- Quick Start
- Installation
- Configuration
- Usage Guide
- Dynamic Role Management
- Artisan Commands
- Helper Functions
- Testing
- Troubleshooting
- Security
- License
✨ Features
- 🎭 Unlimited Roles
- 📊 Role Hierarchy (priority-based)
- 🔐 Permission-based access control
- 🛡️ Multi-Guard Support (web, api)
- 🎯 Smart role-based redirects
- 🚀 Middleware protection (
role:admin) - 🎨 Blade directives (
@role,@hasrole) - 📱 API ready
- 🎛️ Admin panel support
- ⌨️ Artisan commands
📦 Requirements
- PHP >= 8.1
- Laravel 10.x / 11.x / 12.x
- Composer (latest)
- Supported DB: MySQL, PostgreSQL, SQLite, SQL Server
🚀 Quick Start
composer require mitul456/laravel-multi-role-auth php artisan multirole:install php artisan migrate
Add trait to User model:
use LaravelMultiRoleAuth\Traits\HasRoles; class User extends Authenticatable { use HasRoles; }
⚙️ Installation (Detailed)
composer require mitul456/laravel-multi-role-auth php artisan multirole:install
(Optional)
php artisan vendor:publish --tag=multirole-config
⚙️ Configuration
config/multirole.php
return [ 'default_role' => 'User', 'role_hierarchy' => [ 'SuperAdmin', 'Admin', 'Moderator', 'Editor', 'User', ], 'redirect_paths' => [ 'SuperAdmin' => '/superadmin/dashboard', 'Admin' => '/admin/dashboard', 'default' => '/dashboard', ], ];
📖 Usage Guide
Assign Role
$user->assignRole('Admin'); $user->syncRoles(['Editor', 'Moderator']);
Check Role
$user->hasRole('Admin'); $user->hasRole(['Admin', 'SuperAdmin']);
Middleware
Route::middleware(['auth', 'role:Admin'])->group(function () { // });
Blade
@role('admin') <p>Admin only</p> @endrole
Permission
$user->can('edit-articles');
🎯 Dynamic Role Management
Role::create(['name' => 'Manager']); $user->assignRole('Manager'); if ($user->hasRole('Manager')) { // }
⌨️ Artisan Commands
php artisan multirole:install php artisan role:create "Manager" php artisan role:assign 1 "Admin" php artisan role:sync 1 "Editor" "Moderator"
🔧 Helper Functions
hasRole($user, 'Admin'); currentUserRole(); canPerform('manage-users');
🧪 Testing
php artisan test
🔧 Troubleshooting
php artisan optimize:clear composer dump-autoload
🔒 Security Tips
- Always use middleware
- Avoid client-side role checks
- Use permissions for sensitive actions
📄 License
MIT License
Made with ❤️ by Mitulmitul456/laravel-multi-role-auth 适用场景与选型建议
mitul456/laravel-multi-role-auth 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 04 月 17 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 mitul456/laravel-multi-role-auth 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 mitul456/laravel-multi-role-auth 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 18
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-17