Filamentphp 多个面板

问题描述 投票:0回答:1

我需要帮助在面板中的AdminOwner之间共享用户资源,而无需重复代码或资源。我为每个角色创建了单独的面板(管理员

App\Filament\Resource\Admin
Owner App\Filament\Resource\Owner
),但我在用户资源方面遇到了困难,因为
admin
owner
都可以访问它。

我正在开发一个管理面板,该面板为

Admin
Owner
用户提供单独的登录信息,并且每个用户都有不同的权限。有人告诉我,策略可以帮助实现这一点,确保基于角色的访问控制。谢谢你。

laravel laravel-filament filamentphp
1个回答
0
投票

我用这种方式得出了一些结果:


 public function canAccessPanel(\Filament\Panel $panel): bool
    {
        $user=Auth::user();

        if($user->hasRole(RoleEnum::Admin)){
            return true;
        }
        if($user->hasRole(RoleEnum::Researcher) && $panel->getId() === 'researcher'){
            return true;
        }
        if($user->hasRole(RoleEnum::School) && $panel->getId() === 'school'){
            return true;
        }
        return false;
    }

但是这样用户就不会重定向到相关面板。希望我也能这样做..但我不能:)

© www.soinside.com 2019 - 2024. All rights reserved.