Управляйте своими пользователями с помощью настраиваемого пользовательского ресурса для FilamentPHP с интеграцией filament-shield и filament-impersonate.
для нити накаливания v2 используйте этот репозиторий
Ресурс пользователей
Разрешить публикацию пользовательского ресурса
Разрешить использовать щит
Разрешить использовать олицетворение
Разрешить использование класса фасада для настройки текущего пользовательского ресурса
Интеграция с командами Laravel Jetstream
пользовательская модель пользователя из файла конфигурации
пользовательская модель команды из файла конфигурации
пользовательская ролевая модель из файла конфигурации
Страница профиля пользователя Laravel Jetsream
Разрешить аватары пользователей/команд
Пользовательские страницы регистрации/входа для Laravel Jetstream
Добавить страницу OTP в процесс регистрации
композитор требует tomatophp/filament-users
наконец, зарегистрируйте плагин в /app/Providers/Filament/AdminPanelProvider.php
->plugin(TomatoPHPFilamentUsersFilamentUsersPlugin::make())
вы можете использовать щит для защиты своего ресурса и разрешения ролей пользователей, предварительно установив его.
композитору требуется bezhansaleh/filament-shield
Добавьте черту SpatiePermissionTraitsHasRoles к вашим моделям пользователей:
используйте IlluminateFoundationAuthUser как Authenticatable; используйте SpatiePermissionTraitsHasRoles; class User расширяет Authenticatable {use HasRoles; // ...}
Опубликуйте файл конфигурации, затем настройте свою конфигурацию:
->plugin(BezhanSallehFilamentShieldFilamentShieldPlugin::make())
Теперь выполните следующую команду для установки щита:
PHP Artisan Shield: установить
Теперь мы можем опубликовать ресурсы пакета.
поставщик php artisan:publish --tag="filament-users-config"
теперь в вашей конфигурации filament-users.php
разрешите щит
/* * Пользовательский экран нити */"shield" => true,
теперь очисти свою конфигурацию
Конфигурация PHP Artisan: кэш
для получения дополнительной информации проверьте экран накаливания.
вы можете использовать олицетворение, чтобы выдать себя за пользователя, сначала установив его
композитору требуется stechstudio/filament-impersonate
теперь в вашей конфигурации filament-users.php
разрешите щит
/* * Олицетворение пользовательской нити */"impersonate" => true,
теперь очисти свою конфигурацию
Конфигурация PHP Artisan: кэш
для получения дополнительной информации проверьте олицетворение нити
вы можете использовать команды Laravel Jetstream, сначала установив их
композитору требуется laravel/jetstream
теперь вам нужно установить jetstream с помощью livewire
PHP artisan jetstream: установить livewire
перейдите в jetstream.php
и разрешите функцию команд
'features' => [// Features::termsAndPrivacyPolicy(), // Features::profilePhotos(), // Features::api(), Features::teams(['invitations' => true]),// Особенности::accountDeletion(),],
теперь вам нужно опубликовать миграцию команд из jetstream
поставщик php artisan:publish --tag=jetstream-teams-migrations
теперь вам нужно перенести миграцию команд
миграция PHP Artisan
теперь в вашей конфигурации filament-users.php
разрешите щит
/* * Пользовательские команды филамента */"teams" => true,
теперь очисти свою конфигурацию
Конфигурация PHP Artisan: кэш
вы можете опубликовать ресурс в своем проекте
Пользователи филамента PHP Artisan: опубликовать
он опубликует ресурс в вашем проекте
затем перейдите в файл конфигурации filament-users.php
и измените publish_resource
на true
вы можете зарегистрировать менеджера по связям с пользователями в своем проекте
используйте TomatoPHPFilamentUsersFacadesFilamentUser; публичную функцию boot() { FilamentUser::register([ FilamentResourcesRelationManagersRelationManager::make() // Замените на свой собственный менеджер отношений ]); }
мы добавили множество хуков, чтобы можно было легко прикреплять действия, столбцы, фильтры и т. д.
используйте TomatoPHPFilamentUsersResourcesUserResourceTableUserTable; публичная функция boot() { UserTable::register([ FilamentTablesColumnsTextColumn::make('что-то') ]); }
используйте TomatoPHPFilamentUsersResourcesUserResourceTableUserActions; публичную функцию boot() { UserActions::register([ FilamentTablesActionsReplicationAction::make() ]); }
используйте TomatoPHPFilamentUsersResourcesUserResourceTableUserFilters; публичную функцию boot() { UserFilters::register([ FilamentTablesFiltersSelectFilter::make('something') ]); }
используйте TomatoPHPFilamentUsersResourcesUserResourceTableUserBulkActions; публичную функцию boot() { UserBulkActions::register([ FilamentTablesBulkActionsDeleteAction::make() ]); }
используйте TomatoPHPFilamentUsersResourcesUserResourceFormUserForm; публичную функцию boot() { UserForm::register([ FilamentFormsComponentsTextInput::make('что-то') ]); }
используйте TomatoPHPFilamentUsersResourcesUserResourceActionsManageUserActions; используйте TomatoPHPFilamentUsersResourcesUserResourceActionsEditPageActions; используйте TomatoPHPFilamentUsersResourcesUserResourceActionsViewPageActions; используйте TomatoPHPFilamentUsersResourcesU серРесаурсДействия CreatePageActions; общедоступная функция boot() { ManageUserActions::register([ FilamentActionsAction::make('action') ]); EditPageActions::register([ FilamentActionsAction::make('action') ]); ViewPageActions::register([ FilamentActionsAction::make('action') ]); CreatePageActions::register([ FilamentActionsAction::make('action') ]); }
используйте TomatoPHPFilamentUsersResourcesUserResourceInfolistUserInfolist; публичную функцию boot() { UserInfolist::register([ FilamentInfolistsComponentsTextEntry::make('что-то') ]); }
вы можете настроить все классы ресурсов так, чтобы они были любым классом, который вы хотите, с тем же возвратом из файла конфигурации
/** * --------------------------------------------- * Сбор ресурсов * --------------------------------------------- * if вы хотите использовать собственный класс ресурса */'resource' => [ 'table' => [ 'class' => TomatoPHPFilamentUsersResourcesUserResourceTableUserTable::class, 'filters' => TomatoPHP FilamentUsersResourcesUserResourceTableUserFilters::class, 'actions' => TomatoPHPFilamentUsersResourcesUserResourceTableUserActions::class, 'bulkActions' => TomatoPHPFilamentUsersResourcesUserResourceTable UserBulkActions::класс, ], 'form' => [ 'class' => TomatoPHPFilamentUsersResourcesUserResourceFormUserForm::class ], 'infolist' => [ 'class' => TomatoPHPFilamentUsersResourcesUserResourceInfoListUserInfoList::class ], 'pages' => [ 'list' => TomatoPHPFilamentUsersResourcesUserResourceActionsManageUserActions::class, 'create' => TomatoPHPFilamentUsersResourcesUserResourceActionsCreatePageActions::class, 'edit' => TomatoPHPFilamentUsersResourcesUserResourceActionsEditPageActions::class, 'view' => TomatoPHPFilamentUsersResourcesUserResourceActionsViewPageActions::class ] ]
вы можете использовать простой пользовательский ресурс, изменив конфигурацию, в вашей конфигурации filament-users.php
разрешите простой
/** * --------------------------------------------- * Используйте простой ресурс * --------------------------------------------- * измените ресурс со страниц на модальные окна, разрешив простой ресурс. */'simple' => правда,
вы можете опубликовать файл конфигурации с помощью этой команды
поставщик php artisan:publish --tag="filament-users-config"
вы можете опубликовать языковой файл с помощью этой команды
поставщик PHP Artisan:publish --tag="filament-users-lang"
если вы хотите запустить PEST
тестирование, просто используйте эту команду
композиторский тест
если вы хотите исправить стиль кода, просто используйте эту команду
формат композитора
если вы хотите проверить код с помощью PHPStan
просто используйте эту команду
композитор анализирует
Ознакомьтесь с нашим удивительным TomatoPHP