jeffersongoncalves/filament-user
| Install | |
|---|---|
composer require jeffersongoncalves/filament-user |
|
| Latest Version: | 3.2.0 |
| PHP: | ^8.3 |
| License: | MIT |
| Last Updated: | Sep 28, 2026 |
| Links: | GitHub · Packagist |

Filament User
Filament User model, UserResource, status-aware Login page and plugin used by the jeffersongoncalves starter kits. Built on laravel-user.
Compatibility
| Branch | Filament | Package version |
|---|---|---|
| 1.x | 3.x | ^1.0 |
| 2.x | 4.x | ^2.0 |
| 3.x | 5.x | ^3.0 |
Installation
composer require jeffersongoncalves/filament-user
Usage
Model
namespace App\Models;
use JeffersonGoncalves\Filament\User\Models\User as BaseUser;
class User extends BaseUser
{
// add traits (e.g. HasTeamsFilament), relations or overrides here
}
It implements FilamentUser and HasAvatar (reads the filament-edit-profile.avatar_column).
Panel access
By default a user can enter every panel except admin, and only while status = true. Filament re-checks this on every request, so deactivating a user also ends their open sessions and remember-me logins.
Tune the rules in the config file:
php artisan vendor:publish --tag="filament-user-config"
// config/filament-user.php
'panel_access' => [
'denied_panels' => ['admin'],
'require_active_status' => true,
],
Or replace the check entirely from a service provider (e.g. AppServiceProvider::boot()):
use Filament\Panel;
use JeffersonGoncalves\Filament\User\Facades\PanelAccess;
PanelAccess::using(fn (User $user, Panel $panel): bool => $user->status && $panel->getId() === 'app');
Panel
use JeffersonGoncalves\Filament\User\Pages\Auth\Login;
use JeffersonGoncalves\Filament\User\UserPlugin;
// Panel where users sign in: only active users (status = true) can log in
$panel->login(Login::class);
// Panel that manages users (usually the admin panel)
$panel->plugins([
UserPlugin::make()
->impersonate(guard: 'web', redirectTo: '/app'),
]);
The resource uses the model from auth.providers.users.model, so it always works with App\Models\User.
Other plugin options:
UserPlugin::make()
->withoutImpersonation() // hide the impersonate action (table, View and Edit pages)
->navigationGroup('Access'); // custom navigation group; false = no group
Translations
Labels ship in 19 locales (ar, az, de, en, es, fa, fr, hi, it, ja, nl, pl, pt, pt_BR, ru, tr, uk, uz, zh_CN) under the filament-user::resources/user.* namespace (navigation.*, fields.*, actions.*). To change them, publish and edit:
php artisan vendor:publish --tag="filament-user-translations"
Extending
Extend the resource and hand it to the plugin. The resource pages follow the plugin, so there is nothing else to copy:
use JeffersonGoncalves\Filament\User\Resources\Users\Schemas\UserForm;
use JeffersonGoncalves\Filament\User\Resources\Users\UserResource;
class MyUserForm extends UserForm
{
public static function components(): array
{
return [
...parent::components(),
TextInput::make('phone'),
];
}
}
class MyUserResource extends UserResource
{
public static function form(Schema $schema): Schema
{
return MyUserForm::configure($schema);
}
}
UserPlugin::make()->resource(MyUserResource::class);
UserInfolist::components() and UsersTable::columns() can be extended the same way.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
License
The MIT License (MIT). Please see License File for more information.
Related Packages
Filament Admin model, AdminResource, status-aware Login page and plugin for a se...
Base authenticatable User model, migration, factory and observer shared by the j...
A beautiful icon picker field for FilamentPHP v5 with support for Heroicons, Luc...
TallCMS - A modern CMS for Filament admin panels. Works standalone or as a plugi...
Background Jobs monitoring like Horizon for all drivers for FilamentPHP
Version History
| Version | Released | PHP | License |
|---|---|---|---|
| 3.2.0 | ^8.3 | MIT | |
| 3.1.0 | ^8.3 | MIT | |
| 3.0.0 | ^8.3 | MIT | |
| 2.2.0 | ^8.3 | MIT | |
| 2.1.0 | ^8.3 | MIT | |
| 2.0.0 | ^8.3 | MIT | |
| 1.3.0 | ^8.2 | MIT | |
| 1.2.0 | ^8.2 | MIT | |
| 1.1.0 | ^8.2 | MIT | |
| 1.0.1 | ^8.2 | MIT | |
| 1.0.0 | ^8.2 | MIT |