Verwalten Sie Ihre Benutzer mit einer hochgradig anpassbaren Benutzerressource für FilamentPHP mit Integration von Filament-Shield und Filament-Imitieren.
Für Filament v2 verwenden Sie bitte dieses Repo
Benutzerressource
Ermöglichen Sie die Veröffentlichung von Benutzerressourcen
Erlaube die Verwendung von Shield
Verwendung von Identitätswechsel zulassen
Erlauben Sie die Verwendung der Facade-Klasse, um die aktuelle Benutzerressource anzupassen
Integration mit Laravel Jetstream-Teams
Benutzerdefiniertes Benutzermodell aus der Konfigurationsdatei
Benutzerdefiniertes Teammodell aus der Konfigurationsdatei
Benutzerdefiniertes Rollenmodell aus der Konfigurationsdatei
Laravel Jetsream-Benutzerprofilseite
Benutzer-/Team-Avatare zulassen
Benutzerdefinierte Registrierungs-/Anmeldeseiten für Laravel Jetstream
OTP-Seite zum Registrierungsprozess hinzufügen
Composer benötigen Tomatophp/Filament-Benutzer
Registrieren Sie schließlich das Plugin unter /app/Providers/Filament/AdminPanelProvider.php
->plugin(TomatoPHPFilamentUsersFilamentUsersPlugin::make())
Sie können den Schutz verwenden, um Ihre Ressource zu schützen und Benutzerrollen zuzulassen, indem Sie ihn zuerst installieren
Komponist benötigt Bezhansalleh/Filament-Shield
Fügen Sie die Eigenschaft SpatiePermissionTraitsHasRoles zu Ihren Benutzermodellen hinzu:
use IlluminateFoundationAuthUser as Authenticatable;use SpatiePermissionTraitsHasRoles;class User erweitert Authenticatable{ use HasRoles; // ...}
Veröffentlichen Sie die Konfigurationsdatei und richten Sie dann Ihre Konfiguration ein:
->plugin(BezhanSallehFilamentShieldFilamentShieldPlugin::make())
Führen Sie nun den folgenden Befehl aus, um Shield zu installieren:
PHP Artisan Shield:Installieren
Jetzt können wir die Paketressourcen veröffentlichen.
PHP-Artist-Anbieter:publish --tag="filament-users-config"
Lassen Sie jetzt in Ihrer filament-users.php
-Konfiguration Shield zu
/* * User Filament Shield */"shield" => true,
Löschen Sie nun Ihre Konfiguration
php artisan config:cache
Weitere Informationen finden Sie im Filament Shield
Sie können „impersonate“ verwenden, um sich als Benutzer auszugeben, indem Sie es zuerst installieren
Komponist benötigt Stechstudio/Filament-Impersonate
Lassen Sie jetzt in Ihrer filament-users.php
-Konfiguration Shield zu
/* * User Filament Impersonate */"impersonate" => true,
Löschen Sie jetzt Ihre Konfiguration
php artisan config:cache
Weitere Informationen finden Sie im Filament Impersonate
Sie können die Laravel Jetstream Teams verwenden, indem Sie sie zuerst installieren
Komponist benötigt Laravel/Jetstream
Jetzt müssen Sie den Jetstream mit Livewire installieren
PHP Artisan Jetstream: Livewire installieren
Gehen Sie zu jetstream.php
und erlauben Sie die Teams-Funktion
'features' => [// Features::termsAndPrivacyPolicy(),// Features::profilePhotos(),// Features::api(), Features::teams(['invitations' => true]),// Features::accountDeletion(),],
Jetzt müssen Sie die Teams-Migration von Jetstream veröffentlichen
PHP-Artist-Anbieter:publish --tag=jetstream-teams-migrations
Jetzt müssen Sie die Teams-Migration durchführen
PHP-Artist migrieren
Lassen Sie jetzt in Ihrer filament-users.php
-Konfiguration Shield zu
/* * Benutzer-Filament-Teams */"teams" => true,
Löschen Sie jetzt Ihre Konfiguration
php artisan config:cache
Sie können die Ressource in Ihrem Projekt veröffentlichen
php artisan filament-users:publish
Dadurch wird die Ressource in Ihrem Projekt veröffentlicht
Gehen Sie dann zur Konfigurationsdatei filament-users.php
und ändern Sie publish_resource
auf true
Sie können den User Relation Manager für Ihr Projekt registrieren
Verwenden Sie TomatoPHPFilamentUsersFacadesFilamentUser;public function boot() { FilamentUser::register([ FilamentResourcesRelationManagersRelationManager::make() // Durch Ihren benutzerdefinierten Relation Manager ersetzen ]); }
Wir haben viele Haken hinzugefügt, um das Anhängen von Aktionen, Spalten, Filtern usw. zu erleichtern
Verwenden Sie TomatoPHPFilamentUsersResourcesUserResourceTableUserTable;public function boot() { UserTable::register([ FilamentTablesColumnsTextColumn::make('something') ]); }
Verwenden Sie TomatoPHPFilamentUsersResourcesUserResourceTableUserActions;public function boot() { UserActions::register([ FilamentTablesActionsReplicateAction::make() ]); }
Verwenden Sie TomatoPHPFilamentUsersResourcesUserResourceTableUserFilters;public function boot() { UserFilters::register([ FilamentTablesFiltersSelectFilter::make('something') ]); }
Verwenden Sie TomatoPHPFilamentUsersResourcesUserResourceTableUserBulkActions;public function boot() { UserBulkActions::register([ FilamentTablesBulkActionsDeleteAction::make() ]); }
Verwenden Sie TomatoPHPFilamentUsersResourcesUserResourceFormUserForm;public function boot() { UserForm::register([ FilamentFormsComponentsTextInput::make('something') ]); }
verwenden Sie TomatoPHPFilamentUsersResourcesUserResourceActionsManageUserActions; verwenden Sie TomatoPHPFilamentUsersResourcesUserResourceActionsEditPageActions; verwenden Sie TomatoPHPFilamentUsersResourcesUserResourceActionsViewPageActions; verwenden Sie TomatoPHPFilamentUsersResourcesUserResourceActions CreatePageActions;öffentliche Funktion boot() { ManageUserActions::register([ FilamentActionsAction::make('action') ]); EditPageActions::register([ FilamentActionsAction::make('action') ]); ViewPageActions::register([ FilamentActionsAction::make('action') ]); CreatePageActions::register([ FilamentActionsAction::make('action') ]); }
Verwenden Sie TomatoPHPFilamentUsersResourcesUserResourceInfolistUserInfolist;public function boot() { UserInfolist::register([ FilamentInfolistsComponentsTextEntry::make('something') ]); }
Sie können alle Ressourcenklassen so anpassen, dass sie jede gewünschte Klasse mit derselben Rückgabe aus der Konfigurationsdatei sind
/** * --------------------------------------------- * Ressourcenaufbau * ----------------- * wenn Sie möchten die benutzerdefinierte Ressourcenklasse */'resource' => [ 'table' => [ 'class' => TomatoPHPFilamentUsersResourcesUserResourceTableUserTable::class, 'filters' => TomatoPHP verwenden FilamentUsersResourcesUserResourceTableUserFilters::class, 'actions' => TomatoPHPFilamentUsersResourcesUserResourceTableUserActions::class, 'bulkActions' => TomatoPHPFilamentUsersResourcesUserResourceTable UserBulkActions::class, ], 'form' => [ 'class' => TomatoPHPFilamentUsersResourcesUserResourceFormUserForm::class ], 'infolist' => [ 'class' => TomatoPHPFilamentUsersResourcesUserResourceInfoListUserInfoList::class ], 'pages' => [ 'list' => TomatoPHPFilamentUsersResourcesUserResourceActionsManageUserActions::class, 'create' => TomatoPHPFilamentUsersResourcesUserResourceActionsCreatePageActions::class, 'edit' => TomatoPHPFilamentUsersResourcesUserResourceActionsEditPageActions::class, 'view' => TomatoPHPFilamentUsersResourcesUserResourceActionsViewPageActions::class ] ]
Sie können die einfache Benutzerressource verwenden, indem Sie die Konfiguration ändern und in Ihrer filament-users.php
-Konfiguration „einfach“ zulassen
/** * --------------------------------------------- * Einfache Ressource verwenden * ------------------------------- * Ändern Sie die Ressource von Seiten in modale Ressourcen, indem Sie einfache Ressourcen zulassen. */'simple' => wahr,
Mit diesem Befehl können Sie die Konfigurationsdatei veröffentlichen
PHP-Artist-Anbieter:publish --tag="filament-users-config"
Mit diesem Befehl können Sie die Sprachdatei veröffentlichen
PHP-Artist-Anbieter:publish --tag="filament-users-lang"
Wenn Sie PEST
-Tests durchführen möchten, verwenden Sie einfach diesen Befehl
Komponistentest
Wenn Sie den Codestil korrigieren möchten, verwenden Sie einfach diesen Befehl
Composer-Format
Wenn Sie den Code von PHPStan
überprüfen möchten, verwenden Sie einfach diesen Befehl
Komponist analysieren
Testen Sie unser Awesome TomatoPHP