larasoft/password-expirable

2.0 2023-08-24 11:53 UTC

This package is not auto-updated.

Last update: 2024-09-19 17:49:03 UTC


README

密码强度具有以下特性

  • 它允许您设置用户密码的到期时间并发送重置电子邮件。
  • 版本 1.0 用于 Laravel 5.1.x - 5.5.x
  • 版本 2.0 支持 Laravel 9.x & 10.x

安装

通过 Composer (v1.0)

$ composer require larasoft/password-expirable:1.0

通过 Composer (v2.0)

$ composer require larasoft/password-expirable

您必须在 config/app.php 中包含服务提供者

'providers' => [
    ...
    Larasoft\PasswordExpiry\PasswordExpiryServiceProvider::class,
],

您需要迁移您的数据库。

php artisan migrate

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

php artisan vendor:publish --provider="Larasoft\PasswordExpiry\PasswordExpiryServiceProvider" --tag="config"

发布后,config/password-expiry.php 配置文件包含

return [

      // # of Days: After which user password gets expired and user should receive password reset email/notification
      'expiry_days' => 2,
  
      // Expiry message to send in password email/notification
      'expiry_message' => 'It has been over :number days since you reset your password. Please update it now.',
  
      'strong_password_rules' => 'case_diff|numbers|letters|symbols'
];

您可以根据需要更改它。

用法

  • 在用户模型中包含以下特质
use PasswordExpirable;
  • 您可以得到 "当前用户对象上设置密码的日期时间" 的 Carbon 实例
$user->getCurrentPasswordSetTime();
  • 您可以检查用户密码是否已过期?
$user->isPasswordExpired();
  • 您可以通过在 app/Http/Kernel.php 中添加以下中间件并应用于所需路由来保护您的路由免受过期密码用户的影响。您可以按需更改名称 'check-password-expired'。
protected $routeMiddleware = [
    ...
    'check-password-expired' => CheckPasswordExpired::class
]

变更日志

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

测试

$ composer test

贡献

有关详细信息,请参阅 CONTRIBUTINGCODE_OF_CONDUCT

安全

如果您发现任何安全问题,请通过:author_email 发送电子邮件,而不是使用问题跟踪器。

致谢

许可证

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