ngiraud/laravel-acl

实现acl功能的包

1.0.5 2017-01-20 10:48 UTC

This package is auto-updated.

Last update: 2024-09-16 06:07:41 UTC


README

要求

首先需要在Laravel项目中安装认证。这可以通过以下命令完成:

php artisan make:auth

安装

  • 在composer.json中添加以下行
"require": {
  ...
  "ngiraud/laravel-acl": "^1.0.0",
  ...
},

并执行以下命令:

composer update
  • 在app.php中添加ServiceProvider
NGiraud\ACL\ACLServiceProvider::class,
  • 发布配置和seeder
php artisan vendor:publish --tag=acl
composer dump-autoload
  • 将UserACL trait添加到User模型中
use NGiraud\ACL\UserACL;

class User extends Authenticatable {
    use Notifiable, UserACL;
}
  • 在Http/Kernel.php中添加route middleware
protected $routeMiddleware = [
    ...
    'acl' => \NGiraud\ACL\Middleware\CheckPermission::class,
    ...
]
  • 在.env文件中添加变量以设置超级管理员用户(用户id用逗号分隔)
SUPERADMIN_USERS=1,2,3,4,5
  • 例如,我们可以在路由中添加规则:
Route::get('/admin/test', [ 'as' => 'admin.test', 'uses' => 'HomeController@test' ])->middleware('acl:manage_users');
  • 迁移表并执行seeds
php artisan migrate
php artisan db:seed --class=UserTableSeeder
php artisan db:seed --class=ACLSeeder