ngiraud / laravel-acl
实现acl功能的包
1.0.5
2017-01-20 10:48 UTC
Requires
- laravel/framework: 5.3.*
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