juliomotol / filament-password-confirmation
在执行敏感操作之前提示用户重新输入密码。
v1.2.0
2024-09-16 14:37 UTC
Requires
- php: ^8.1
- filament/filament: ^3.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.1
- 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
README
简化将安全密码确认步骤添加到您的管理面板。
- 在执行敏感操作之前提示用户重新输入密码。
- 通过防止因会话时间过长而导致的意外或未经授权的操作来提高安全性。
- 易于集成和高度可配置。
安装
您可以通过composer安装此包
composer require juliomotol/filament-password-confirmation
然后将插件添加到您的面板中。
JulioMotol\FilamentPasswordConfirmation\FilamentPasswordConfirmationPlugin; public function panel(Panel $panel): Panel { return $panel ->plugin(FilamentPasswordConfirmationPlugin::make()); }
您可以配置路由名称、uri、中间件和密码超时持续时间。
FilamentPasswordConfirmationPlugin::make() ->routeName('confirm') ->routeUri('auth/confirm') ->routeMiddleware(FooMiddleware::class) // Accepts string|array ->passwordTimeout(10800) // Accepts int|null that represents the amount of seconds
可选地,您可以使用来发布翻译和视图。
php artisan vendor:publish --tag="filament-password-confirmation-translations" php artisan vendor:publish --tag="filament-password-confirmation-views"
用法
只需在您的页面/resource中使用RequiresPasswordConfirmation
。
use JulioMotol\FilamentPasswordConfirmation\RequiresPasswordConfirmation; class AdminResource extends Resource { use RequiresPasswordConfirmation; ... }
您可以在页面/resource中配置密码确认超时。
use JulioMotol\FilamentPasswordConfirmation\RequiresPasswordConfirmation; class AdminResource extends Resource { use RequiresPasswordConfirmation; protected static ?int $passwordTimeout = 360; // the amount of seconds ... }
注意:密码超时持续时间按以下顺序确定,直到遇到非空值。
- 页面/resource中的
$passwordTimeout
属性- 插件注册期间配置的
passwordTimeout()
config/auth.php
中分配的auth.password_timeout
配置
测试
composer test
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
有关详细信息,请参阅CONTRIBUTING。
安全漏洞
有关报告安全漏洞的详细信息,请参阅我们的安全策略。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。