sprobe / acl
该软件包最新版本(1.0.3)没有提供许可信息。
为Laravel设计的简单ACL软件包
1.0.3
2023-05-10 03:21 UTC
This package is auto-updated.
Last update: 2024-09-10 06:20:01 UTC
README
使用组和权限实现的简单Laravel ACL实现。
安装
您可以通过运行以下命令安装此软件包
composer require sprobe/acl
运行composer install后,将以下行添加到您的 config/app.php
文件中
'providers' => [
...
...
// load the acl service provider
Sprobe\Acl\SprobeAclServiceProvider::class,
]
如何使用
首先运行迁移以创建所需的数据库表
php artisan migrate
通过 artisan 命令创建一个组
php artisan acl:make-group Administrator
然后通过 artisan 命令创建一个资源
php artisan acl:make-resource users
请注意,资源应与您的路由匹配
Route::post('users', 'UserController@create');
然后通过 artisan 命令创建读取和写入权限
php artisan acl:make-permission Write
php artisan acl:make-permission Read
将以下 Permissible
特性添加到您的用户模型 app\Models\User.php
...
use Sprobe\Acl\Traits\Permissible;
class User extends Authenticatable implements MustVerifyEmail
{
use HasApiTokens, Notifiable, Permissible;
...
您可以在控制器/服务/存储库中将用户分配到组
$user = App\Models\User::find(1);
$user->assignToGroup('Administrator');
然后您可以给该组分配对该资源的权限
$group = Sprobe\Acl\Models\Group::findByName('Administrator');
$group->givePermissionToResource('users', true); // set second param to true if you want to give Write permission, false if read-only
您可以在控制器上声明ACL以激活它,例如 UserController.php
public function __construct()
{
parent::__construct();
// enable api middleware
$this->middleware('acl');
}
或直接在您的路由上
Route::get('users', 'UserController@index')->middleware('acl');