mitul456/laravel-multi-role-auth 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mitul456/laravel-multi-role-auth

最新稳定版本:v1.0.0

Composer 安装命令:

composer require mitul456/laravel-multi-role-auth

包简介

A comprehensive multi-role authentication system for Laravel

README 文档

README

Laravel Version PHP Version License Downloads

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 Mitul

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 5
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-17

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固