kgalanos / filament-user
为 filamentphp 添加使用用户名或电子邮件登录的选项
2.0.0
2023-09-07 09:53 UTC
Requires
- php: ^8.1
- alperenersoy/filament-export: *
- bezhansalleh/filament-shield: *
- filament/filament: ^3.0
- illuminate/contracts: ^10.0
- laravel/sanctum: ^3.2
- spatie/laravel-package-tools: ^1.14.0
- spatie/laravel-permission: ^5.8
- stechstudio/filament-impersonate: ^3.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- roave/security-advisories: dev-latest
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-09 11:19:16 UTC
README
将 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)。有关更多信息,请参阅 许可文件