Laravel 11 角色和权限8--定义超级管理员

85 阅读1分钟

如果希望 “您的超级管理员用户名” 角色响应所有权限,而不需要将所有这些权限分配给一个角色,你可以使用 [Laravel 的 Gate::before() 方法。

App/Providers/AppServiceProvider.php

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Gate;

class AppServiceProvider extends ServiceProvider
{
   ...
   ...
   ...
    /**
     * Bootstrap any application services.
     */
    public function boot(): void
    {
        Gate::before(function ($user, $ability) {
            return $user->hasRole('超级管理员') ? true : null;
        });
    }

另外也需要在角色列表创建一个超级管理员选项

image.png

用户权限中选择超级管理员

image.png

超级管理员定义完成~