我需要帮助在面板中的Admin和Owner之间共享用户资源,而无需重复代码或资源。我为每个角色创建了单独的面板(管理员
App\Filament\Resource\Admin
和 Owner App\Filament\Resource\Owner
),但我在用户资源方面遇到了困难,因为 admin
和 owner
都可以访问它。
我正在开发一个管理面板,该面板为
Admin
和 Owner
用户提供单独的登录信息,并且每个用户都有不同的权限。有人告诉我,策略可以帮助实现这一点,确保基于角色的访问控制。谢谢你。
我用这种方式得出了一些结果:
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;
}
但是这样用户就不会重定向到相关面板。希望我也能这样做..但我不能:)