0

我是 Laravel 6 的新手。我在 Laravel 中安装了默认身份验证。我想拥有多个用户。

  1. 管理员 - 此用户可以监控仪表板和其他页面中的所有内容。
  2. Maker - 此用户只能创建一个作业。
  3. 批准人 - 此用户只能批准工作,但不能创建工作。
  4. 查看者 - 此用户只能查看应用程序的所有页面。

除此之外,我需要为每个公司自动生成一个 OPGROUP ID。我希望登录的用户只看到他们帐户下保存的数据。

你能帮我实现我的目标吗?

4

1 回答 1

0

我们必须按照以下步骤

首先,我们必须使用以下命令创建一个表,我们将在其中存储角色

php artisan make: migration create_admins_table --create=admins

创建迁移后,我们将添加列

$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken(); // I put this linke incase if it was missing

然后我们将运行迁移

php artisan migrate

然后我们将运行以下命令

php artisan make: model Admin 

如果没有,不要忘记在 admin.php 模型中添加以下代码

protected $guard = 'admin';
protected $fillable = [
        'name', 'email', 'password',
    ];

我们必须在警卫之后的config/auth.php文件中设置我们的警卫,我们应该添加以下代码

'admin' => [
            'driver' => 'session',
            'provider' => 'admins',
        ],
'admin-api' => [
                'driver' => 'token',
                'provider' => 'admins',
            ],

提供者之后,我们应该添加以下代码

'admins' => [
            'driver' => 'eloquent',
            'model' => App\Admin::class,
        ],

让我们创建控制器

php artisan make: controller AdminController

让我们在web.php中创建一个名为 admin 和 route 的视图

Route::get()'/admin',AdminController@index)

并在管理控制器中添加以下代码

public function __construct()
            {
                $this->middleware('auth:admin');
            }

您可以在表中插入用户角色(Admin、Maker、Approver、Viewer)并将其定向到您想要的视图

于 2020-03-15T22:58:10.387 回答