default() ->id('admin') // 安全的後台路徑:使用環境變數配置,預設為隨機字串 // 在 .env 中設定 ADMIN_PATH=your-secret-path ->path(env('ADMIN_PATH', 'system-console-' . md5(config('app.key')))) ->login() ->colors([ 'primary' => Color::Amber, ]) ->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources') ->discoverPages(in: app_path('Filament/Pages'), for: 'App\\Filament\\Pages') ->pages([ Pages\Dashboard::class, ]) ->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\\Filament\\Widgets') ->widgets([ Widgets\AccountWidget::class, Widgets\FilamentInfoWidget::class, ]) ->middleware([ EncryptCookies::class, AddQueuedCookiesToResponse::class, StartSession::class, AuthenticateSession::class, ShareErrorsFromSession::class, VerifyCsrfToken::class, SubstituteBindings::class, DisableBladeIconComponents::class, DispatchServingFilamentEvent::class, // ⭐ IP 限制 middleware(在最前面檢查,提早拒絕未授權訪問) RestrictAdminAccess::class, ]) ->authMiddleware([ Authenticate::class, ]) // 安全性強化設定 ->maxContentWidth('full') ->brandName(config('app.name')) ->favicon(asset('favicon.ico')); } }