commacodes/laravel-roles-permissions
最新稳定版本:v1.0.1
Composer 安装命令:
composer require commacodes/laravel-roles-permissions
包简介
Simple roles and permissions package for Laravel.
README 文档
README
This Laravel package provides a simple role and permission system using JSON-based permissions.
Installation
composer require commacodes/laravel-roles-permissions
Publish config and migration files:
php artisan vendor:publish --provider="Commacodes\RolesPermissions\RolesPermissionsServiceProvider"
php artisan migrate
Configuration
Edit config/global.php to define your available permissions:
return [ 'permissions' => [ 'dashboard' => 'لوحة التحكم', 'settings' => 'الإعدادات', // ... ], ];
Usage
Role Model
- Permissions are stored as a JSON array in the
permissionscolumn (nullable).
User Model
Add the following method:
public function hasAbility($permissions) { $role = $this->role; if (!$role) return false; foreach ($role->permissions as $permission) { if (is_array($permissions) && in_array($permission, $permissions)) { return true; } elseif (is_string($permissions) && strcmp($permission, $permissions) === 0) { return true; } } return false; }
AuthServiceProvider
use Illuminate\Support\Facades\Gate; public function boot() { $this->registerPolicies(); foreach (config('global.permissions') as $ability => $label) { Gate::define($ability, function ($auth) use ($ability) { return $auth->hasAbility($ability); }); } }
Blade Usage
@can('dashboard') <li><a href="/dashboard">Dashboard</a></li> @endcan
Route Middleware
Route::middleware(['can:dashboard'])->group(function () { Route::get('/dashboard', [DashboardController::class, 'index']); });
License
MIT © Commacodes
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-04-29