jeffersongoncalves/filament-user

Filament User model, UserResource, status-aware Login page and plugin for the jeffersongoncalves starter kits.
1,293 2
Install
composer require jeffersongoncalves/filament-user
Latest Version:3.2.0
PHP:^8.3
License:MIT
Last Updated:Sep 28, 2026
Links: GitHub  ·  Packagist
Maintainer: jeffersongoncalves

Filament User

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

jeffersongoncalves/filament-admin

Filament Admin model, AdminResource, status-aware Login page and plugin for a se...

1,172 2
jeffersongoncalves/laravel-user

Base authenticatable User model, migration, factory and observer shared by the j...

1,374 1
fawaziwalewa/filament-icon-picker

A beautiful icon picker field for FilamentPHP v5 with support for Heroicons, Luc...

2,067 5
tallcms/cms

TallCMS - A modern CMS for Filament admin panels. Works standalone or as a plugi...

1,998 5
croustibat/filament-jobs-monitor

Background Jobs monitoring like Horizon for all drivers for FilamentPHP

432,583 283

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