daltcore / permissions
Laravel 权限处理器
v1.7.0
2021-01-21 13:37 UTC
Requires
- php: >=5.6.0
- illuminate/support: 5.*|6.*|7.*|8.*
README
在自定义模型上使用 Laravel 权限处理器
安装
通过 Composer
$ composer require daltcore/laravel-permissions
在 config/app.php 的包服务提供者中
DALTCORE\Permissions\ServiceProvider::class,
在 config/app.php 的类别名中
'Permission' => DALTCORE\Permissions\Facade::class,
在 app/Http/Kernel.php 的 $routeMiddleware 中
'permission' => \DALTCORE\Permissions\Http\Middleware\CheckPermission::class, 'role' => \DALTCORE\Permissions\Http\Middleware\CheckRole::class,
发布迁移
php artisan vendor:publish --tag=dpm-migrations
运行迁移
php artisan migrate
将特质添加到 User 模型
use DALTCORE\Permissions\Traits\Permissible;
用法
添加一个角色
Permission::addRole('admin');
添加一个权限
Permission::addPermission('create-users', 'a small description');
将权限链接到角色
Permission::addPermissionToRole('admin', 'create-users');
将角色链接到用户
User::find(1)->giveRole('admin');
检查用户是否有角色
User::find(1)->hasRole('admin');
检查用户是否有权限
User::find(1)->hasPermission('create-users');
从用户中删除角色
User::find(1)->dropRole('admin');
从角色中删除权限
Permission::dropPermissionFromRole('admin', 'create-users');
删除一个权限
Permission::removePermission('admin');
删除一个角色
Permission::removeRole('admin');
中间件
Route::group(['middleware' => 'permission:create-users'], function () { ... Route::group(['middleware' => 'role:admin'], function () {
Blade 指令
@hasrole('admin')
I'm admin
@else
I'm not admin
@endhasrole
@haspermission('create-users')
I can create users
@else
I cannot create users
@endhaspermission
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 获取更多信息。