РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗ppflSpMfEn 157 of 250 menu
◀ ▶

Включение своего способа в Filament

Давайте включим свой способ. Провайдер смотрит, активен ли код у записи, и только тогда спрашивает его на входе. Настройка /admin/profile.

Метод isEnabled читает флаг на модели работника. Полный класс PinAuthentication.php:

<?php namespace App\Filament\Auth; use App\Models\User; use Filament\Auth\MultiFactor\Contracts\MultiFactorAuthenticationProvider; use Filament\Forms\Components\TextInput; use Illuminate\Contracts\Auth\Authenticatable; class PinAuthentication implements MultiFactorAuthenticationProvider { public static function make(): static { return app(static::class); } public function getId(): string { return 'pin'; } public function getLoginFormLabel(): string { return 'PIN'; } public function isEnabled(Authenticatable $user): bool { if (! ($user instanceof User)) { return false; } return (bool) $user->pin_enabled; } public function getManagementSchemaComponents(): array { return []; } public function getChallengeFormComponents(Authenticatable $user): array { return [ TextInput::make('code') ->label('PIN code') ->required(), ]; } } ?>

Зарегистрируем провайдер в AdminPanelProvider.php:

<?php namespace App\Providers\Filament; use App\Filament\Auth\PinAuthentication; use Filament\Panel; use Filament\PanelProvider; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel ->default() ->id('admin') ->path('admin') ->login() ->profile() ->multiFactorAuthentication([ PinAuthentication::make(), ]); } } ?>

Дайте работнику самому включить цифровой код в профиле.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить