如何在 Laravel 中进行基于角色的访问?

how to do Role Base Access in Laravel?

我是 Laravel 中的新手 laravel 如何使用以下 table

角色
$table->id();
            $table->string('name');
            $table->string('email');
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->string('role');
    $table->boolean('active');
            $table->rememberToken();
            $table->timestamps();

如果用户 activity 并且角色是“admin”,应该可以访问管理仪表板页面,否则如果用户处于活动状态并且角色是“经理”应该可以访问经理仪表板页面, if-else 用户处于活动状态并且角色“DEO”/数据输入操作员应该获取其他输入表单以重定向到错误的登录页面?我们应该写在 page.blad.php 还是在控制器函数中?

应用用户角色的最简单方法是使用这个著名的 spatie/laravel-permission 程序包

此包允许您管理数据库中的用户权限和角色。

安装后,您可以执行以下操作:

// Adding permissions to a user
$user->givePermissionTo('edit articles');

// Adding permissions via a role
$user->assignRole('writer');

$role->givePermissionTo('edit articles');

因为所有的权限都会在Laravel的门上注册,所以可以用Laravel的默认can function来检查用户是否有权限:

$user->can('edit articles');

Get started