Administre a sus usuarios con un recurso de usuario altamente personalizable para FilamentPHP con integración de filament-shield y filament-impersonate.
para el filamento v2, utilice este repositorio
Recurso de usuarios
Permitir publicar recurso de usuario
Permitir usar escudo
Permitir usar suplantar
Permitir usar la clase de fachada para personalizar el recurso del usuario actual
Integración con equipos de Laravel Jetstream
modelo de usuario personalizado desde el archivo de configuración
modelo de equipo personalizado desde el archivo de configuración
modelo de rol personalizado desde el archivo de configuración
Página de perfil de usuario de Laravel Jetsream
Permitir avatares de usuario/equipos
Páginas personalizadas de registro/inicio de sesión para Laravel Jetstream
Agregar página OTP al proceso de registro
El compositor requiere usuarios de tomatephp/filamento.
finalmente registre el complemento en /app/Providers/Filament/AdminPanelProvider.php
->complemento(TomatoPHPFilamentUsersFilamentUsersPlugin::make())
puede usar el escudo para proteger su recurso y permitir roles de usuario instalándolo primero
El compositor requiere bezhansalleh/filament-shield.
Agregue el rasgo SpatiePermissionTraitsHasRoles a sus modelos de usuario:
use IlluminateFoundationAuthUser como Authenticatable;use SpatiePermissionTraitsHasRoles;class User extiende Authenticatable{ use HasRoles; //...}
Publique el archivo de configuración y luego configure su configuración:
->complemento(BezhanSallehFilamentShieldFilamentShieldPlugin::make())
Ahora ejecute el siguiente comando para instalar escudo:
Escudo artesanal php:instalar
Ahora podemos publicar los activos del paquete.
Proveedor artesanal de php: publicar --tag="filament-users-config"
ahora en tu configuración filament-users.php
permite escudo
/* * Escudo de filamento de usuario */"escudo" => verdadero,
ahora borra tu configuración
configuración artesanal de php: caché
para más información consulte el Escudo de Filamento
puedes usar la suplantación para hacerse pasar por el usuario instalándolo primero
el compositor requiere stechstudio/filament-impersonate
ahora en tu configuración filament-users.php
permite escudo
/* * Suplantación de filamento de usuario */"suplantar" => verdadero,
ahora borra tu configuración
configuración artesanal de php: caché
Para obtener más información, consulte la suplantación de filamento.
puedes usar Laravel Jetstream Teams instalándolo primero
el compositor requiere laravel/jetstream
ahora necesitas instalar el jetstream con livewire
php jetstream artesanal: instalar livewire
vaya a jetstream.php
y permita la función de equipos
'features' => [// Features::termsAndPrivacyPolicy(),// Features::profilePhotos(),// Features::api(), Features::teams(['invitations' => true]),// Características::eliminación de cuenta(),],
ahora necesitas publicar la migración de equipos desde jetstream
Proveedor artesanal de php: publicar --tag=jetstream-teams-migrations
ahora necesitas migrar la migración de equipos
php migración artesanal
ahora en su configuración filament-users.php
permita escudo
/* * Equipos de filamentos de usuario */"teams" => true,
ahora borra tu configuración
configuración artesanal de php: caché
Puedes publicar el recurso en tu proyecto.
usuarios de filamentos artesanales de php: publicar
publicará el recurso en su proyecto
Luego vaya al archivo de configuración filament-users.php
y cambie el publish_resource
a true
Puede registrar el administrador de relaciones con el usuario en su proyecto.
use TomatoPHPFilamentUsersFacadesFilamentUser; función pública de arranque() { UsuarioFilamento::registrarse([ FilamentResourcesRelationManagersRelationManager::make() // Reemplace con su administrador de relaciones personalizado ]); }
Hemos agregado muchos ganchos para que sea más fácil adjuntar acciones, columnas, filtros, etc.
utilice TomatoPHPFilamentUsersResourcesUserResourceTableUserTable; función pública boot() { Tabla de usuario::registro([ FilamentTablesColumnsTextColumn::make('algo') ]); }
utilice TomatoPHPFilamentUsersResourcesUserResourceTableUserActions; función pública de arranque() { Acciones de usuario::registrarse([ FilamentTablesActionsReplicateAction::make() ]); }
utilice TomatoPHPFilamentUsersResourcesUserResourceTableUserFilters; función pública de arranque() { Filtros de usuario::registrarse([ FilamentTablesFiltersSelectFilter::make('algo') ]); }
utilice TomatoPHPFilamentUsersResourcesUserResourceTableUserBulkActions; función pública de arranque() { UserBulkActions::registrarse([ FilamentTablesBulkActionsDeleteAction::make() ]); }
utilice TomatoPHPFilamentUsersResourcesUserResourceFormUserForm; función pública de arranque() { Formulario de usuario::registrarse([ FilamentFormsComponentsTextInput::make('algo') ]); }
usar TomatoPHPFilamentUsersResourcesUserResourceActionsManageUserActions; usar TomatoPHPFilamentUsersResourcesUserResourceActionsEditPageActions; usar TomatoPHPFilamentUsersResourcesUserResourceActionsViewPageActions; usar TomatoPHPFilamentUsersResourcesUserResourceA acciones CreatePageActions;arranque de función pública() { ManageUserActions::register([ FilamentoAccionesAcción::make('acción') ]); EditPageActions::register([ FilamentoAccionesAcción::make('acción') ]); ViewPageActions::register([ FilamentoAccionesAcción::make('acción') ]); CreatePageActions::register([ FilamentoAccionesAcción::make('acción') ]); }
utilice TomatoPHPFilamentUsersResourcesUserResourceInfolistUserInfolist; función pública de arranque() { Lista de información de usuario::registrarse([ FilamentInfolistsComponentsTextEntry::make('algo') ]); }
puede personalizar todas las clases de recursos para que sean cualquier clase que desee con el mismo retorno del archivo de configuración
/** * --------------------------------------- * Creación de recursos * --------------------------------------- * si desea utilizar la clase personalizada de recursos */'resource' => [ 'table' => [ 'class' => TomatoPHPFilamentUsersResourcesUserResourceTableUserTable::class, 'filters' => TomatoPHP FilamentUsersResourcesUserResourceTableUserFilters::clase, 'acciones' => TomatoPHPFilamentUsersResourcesUserResourceTableUserActions::clase, 'bulkActions' => TomatoPHPFilamentUsersResourcesUserResourceTable UserBulkActions::clase, ], 'formulario' => [ 'clase' => TomatoPHPFilamentUsersResourcesUserResourceFormUserForm::clase ], 'infolist' => [ 'clase' => TomatoPHPFilamentUsersResourcesUserResourceInfoListUserInfoList::clase ], 'páginas' => [ 'lista' => TomatoPHPFilamentUsersResourcesUserResourceActionsManageUserActions::class, 'create' => TomatoPHPFilamentUsersResourcesUserResourceActionsCreatePageActions::clase, 'edit' => TomatoPHPFilamentUsersResourcesUserResourceActionsEditPageActions::clase, 'view' => TomatoPHPFilamentUsersResourcesUserResourceActionsViewPageActions::clase ] ]
puede usar el recurso de usuario simple cambiando la configuración, en su configuración filament-users.php
permita una configuración simple
/** * --------------------------------------- * Utilice recurso simple * --------------------------------------- * cambie el recurso de páginas a modales permitiendo un recurso simple. */'simple' => verdadero,
puedes publicar el archivo de configuración usando este comando
Proveedor artesanal de php: publicar --tag="filament-users-config"
puedes publicar archivos de idiomas usando este comando
Proveedor artesanal de php: publicar --tag="filament-users-lang"
Si desea ejecutar pruebas PEST
, simplemente use este comando
prueba de compositor
Si desea corregir el estilo del código, utilice este comando.
formato del compositor
Si desea verificar el código de PHPStan
simplemente use este comando
compositor analiza
Echa un vistazo a nuestro impresionante TomatoPHP