zehirpx / laroles
Laravel的轻量级权限管理。
v0.1.6
2016-12-01 17:15 UTC
Requires
- php: >=5.6.4
- illuminate/database: ~5.0
- illuminate/support: ~5.0
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~5.0
This package is not auto-updated.
Last update: 2024-09-28 19:36:39 UTC
README
Laravel的轻量级权限管理。
要求
- Laravel >= 5.0
安装
要开始使用,请通过Composer包管理器安装包
composer require zehirpx/laroles
接下来,在您的config/app.php
文件中的providers
数组中注册服务提供者
zehirpx\Laroles\LarolesServiceProvider::class,
现在,发布并迁移迁移文件
php artisan vendor:publish
php artisan migrate
运行命令后,将zehirpx\Laroles\HasRoles
特质添加到您的App\User
模型中。特质将为您的模型提供一些方法,允许您检查用户的角色和权限。
<?php namespace App; use zehirpx\Laroles\HasRoles; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { use HasRoles; }
快速入门
创建角色
您可以通过使用RoleRepository
的create
方法来创建角色
$roles = new zehirpx\Laroles\RoleRepository; $roles->create('customer-support', 'Customer Support', [ 'create-servers', 'update-servers']);
分配角色给用户
您可以通过使用RoleRepository
的updateUserRoles
方法为用户分配或重新分配角色
$roles->updateUserRoles($user, ['customer-support']);
注意:用户可以分配多个角色。
检查用户权限
由于我们已经将HasRoles
特质应用到App\User
模型,因此我们可以使用rolesCan
方法来检查用户的角色是否具有给定的权限。
$user->rolesCan('update-servers'); // true $user->rolesCan('delete-servers'); // false
注意:
roleCan
方法会检查用户分配的所有角色。
检查角色权限
您还可以通过使用模型的can
方法来检查Role
模型上的权限
$role->can('create-servers'); // true $role->can('delete-servers'); // false