daltcore/permissions

Laravel 权限处理器

v1.7.0 2021-01-21 13:37 UTC

This package is auto-updated.

Last update: 2024-09-21 21:42:09 UTC


README

FOSSA Status

在自定义模型上使用 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)。请参阅 许可证文件 获取更多信息。

FOSSA Status