From bcb7997ba0c9e60d4ae86922641b9cc0b727ab48 Mon Sep 17 00:00:00 2001 From: theRADcozaDEV Date: Thu, 12 Mar 2026 10:22:49 +0200 Subject: [PATCH] Fix Filament 403 - add FilamentUser interface and canAccessPanel method --- README.md | 2 +- src/app/Models/User.php | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 44c7134..4df82fc 100644 --- a/README.md +++ b/README.md @@ -378,7 +378,7 @@ See [docs/laravel-setup.md](docs/laravel-setup.md) for detailed configuration. php artisan key:generate php artisan migrate npm install && npm run build - php artisan db:seed --class=RolePermissionSeeder + php artisan db:seed php artisan make:admin user@domain.com ``` diff --git a/src/app/Models/User.php b/src/app/Models/User.php index fdc3f44..d08dd61 100644 --- a/src/app/Models/User.php +++ b/src/app/Models/User.php @@ -3,17 +3,24 @@ namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; +use Filament\Models\Contracts\FilamentUser; +use Filament\Panel; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; use Spatie\Permission\Traits\HasRoles; -class User extends Authenticatable +class User extends Authenticatable implements FilamentUser { /** @use HasFactory<\Database\Factories\UserFactory> */ use HasFactory, Notifiable, HasRoles, HasApiTokens; + public function canAccessPanel(Panel $panel): bool + { + return $this->hasRole('admin'); + } + /** * The attributes that are mass assignable. *