juliomotol/filament-password-confirmation

在执行敏感操作之前提示用户重新输入密码。

v1.2.0 2024-09-16 14:37 UTC

This package is auto-updated.

Last update: 2024-09-16 14:38:12 UTC


README

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

简化将安全密码确认步骤添加到您的管理面板。

  • 在执行敏感操作之前提示用户重新输入密码。
  • 通过防止因会话时间过长而导致的意外或未经授权的操作来提高安全性。
  • 易于集成和高度可配置。

安装

您可以通过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
    ...
}

注意:密码超时持续时间按以下顺序确定,直到遇到非空值。

  1. 页面/resource中的$passwordTimeout属性
  2. 插件注册期间配置的passwordTimeout()
  3. config/auth.php中分配的auth.password_timeout配置

测试

composer test

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

贡献

有关详细信息,请参阅CONTRIBUTING

安全漏洞

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

致谢

许可证

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