嗨,我是使用laravel的新手。我不明白如何创建多角色用户。我想创建一个管理员和一般用户。如果可能的话,我想使用委托(https://github.com/Zizaco/entrust(。我正在使用Laravel 5.4并安装委托。如果可能的话,一个带有委托解释的小例子会有所帮助。
第1 步。在 laravel 中创建项目后,打开composer.json并使用像这样的委托更新require对象
"require": {
"php": ">=7.1.3",
"fideloper/proxy": "~4.0",
"laravel/framework": "5.5.*",
"laravel/tinker": "~1.0",
"tymon/jwt-auth": "1.0.0-rc.1",
"zizaco/entrust": "dev-master"
},
然后运行
composer update
第 2 步。打开配置/应用程序.php查找提供程序数组并添加以下行。
ZizacoEntrustEntrustServiceProvider::class,
在提供程序数组下面查找别名并添加以下行
'Entrust' => ZizacoEntrustEntrustFacade::class,
然后运行此命令
php artisan vendor:publish
在此之后,您将在配置目录中看到一个名为entrust的新文件.php
第 3 步。打开app/Http/内核.php并添加中间件
<?php
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array
*/
protected $routeMiddleware = [
....
'role' => ZizacoEntrustMiddlewareEntrustRole::class,
'permission' => ZizacoEntrustMiddlewareEntrustPermission::class,
'ability' => ZizacoEntrustMiddlewareEntrustAbility::class,
]; ?>
第 4 步。运行此
php artisan entrust:migration
上面的命令将创建 4 个表的角色、权限、role_user和permission_role
现在你准备好了