kgalanos/filament-user

为 filamentphp 添加使用用户名或电子邮件登录的选项


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

将 ulid(不要删除 id)、username、phone 和 phone_verified_at 字段添加到 User 模型中,您可以在 filamentphp 控面板中通过用户名/电子邮件登录。此外,还安装并配置了

        "alperenersoy/filament-export": "*",
        "stechstudio/filament-impersonate": "^3.0",
        "bezhansalleh/filament-shield": "*"

安装

您可以通过 composer 安装此包

composer require kgalanos/filament-user

您可以使用以下命令发布并运行迁移

php artisan vendor:publish --tag="filament-user-migrations"
php artisan migrate

您可以使用以下命令在 config\auth.php 中更新 Model User

'model' => \Kgalanos\FilamentUser\Models\User::class,

或者您也可以更新

App\Models\User
with
class User extends \Kgalanos\FilamentUser\Models\User implements FilamentUser
{
    use HasFilamentShield, HasRoles;
     /**
     * The attributes that are mass assignable.
     *
     * @var array<int, string>
     */
    protected $fillable = [
        'name',
        'email',
        'password',
        'username',
        'avatar_url',
        'phone',
    ];
.....
}

通过以下命令安装 Filament Panel Builder

php artisan filament:install --panels

您可以使用以下命令更新 App\Providers\Filament\AdminPanelProvider

            ->login(\Kgalanos\FilamentUser\Filament\Pages\Auth\Login::class)
            ->registration(\Kgalanos\FilamentUser\Filament\Pages\Auth\Register::class)
            ->passwordReset()
            ->profile(\Kgalanos\FilamentUser\Filament\Pages\Auth\EditProfile::class)

            ->discoverPages(base_path('vendor/kgalanos/filament-user/src/Filament/Pages'),'Kgalanos\\FilamentUser\\Filament\\Pages')

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag=filament-shield-config
php artisan vendor:publish --tag="filament-user-config"

这是已发布配置文件的内容

return [
];

关于 Shield

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            \BezhanSalleh\FilamentShield\FilamentShieldPlugin::make()
        ]);
}
php artisan shield:install

如果没有用户 ID 数据库,则会提示您创建管理员。

php artisan make:filament-resource User 

修改 App\Filament\Resources

class UserResource extends \Kgalanos\FilamentUser\Filament\Resources\UserResource
{

    protected static ?string $model = App\Models\User::class;
    
    public static function form(Form $form): Form
    {
        $form= parent::form($form);
        return $form;
    }

    public static function table(Table $table): Table
    {
        $table=parent::table($table);
        return $table;
    }
}

可选地,您可以使用 Kgalanos\FilamentUser\Filament\Widgets\ApplicationInfoWidget,然后通过以下命令更新 App\Providers\Filament\AdminPanelProvider

            ->widgets([
                Widgets\AccountWidget::class,
//                Widgets\FilamentInfoWidget::class,
                ApplicationInfoWidget::class,
            ])

可选,如果您使用 ApplicationInfoWidget::class,则需要发布视图
使用以下命令

php artisan vendor:publish --tag="filament-user-views"

用法

测试

composer test

更新日志

有关最近更改的详细信息,请参阅 更新日志

贡献

有关详细信息,请参阅 贡献指南

安全漏洞

有关如何报告安全漏洞的信息,请参阅 我们的安全策略

致谢

许可

MIT 许可证(MIT)。有关更多信息,请参阅 许可文件